当前位置: 首页 > news >正文

快捷网站建设家居企业网站建设新闻

快捷网站建设,家居企业网站建设新闻,网站建设文化价格,站长之家产品介绍文章目录 SpringBoot使用xxl-job分布式任务调度平台定时检测RabbitMQ的消息队列自动发出钉钉警告消息1、在pom.xml中导入xxl-job的maven依赖#xff0c;可以看我这篇文章使用抽离出来的xxl-job的starter2、配置xxl-job的相关配置#xff0c;若上一步使用了自己创建的starter则… 文章目录 SpringBoot使用xxl-job分布式任务调度平台定时检测RabbitMQ的消息队列自动发出钉钉警告消息1、在pom.xml中导入xxl-job的maven依赖可以看我这篇文章使用抽离出来的xxl-job的starter2、配置xxl-job的相关配置若上一步使用了自己创建的starter则不用写下面的XxlJobConfig3、配置xxl-job相关的application.properties4、编写调度任务代码实现检测rabbitmq中所有的消息队列并发送钉钉消息5、进入xxl-job的任务调度中心新建执行器和任务5.1、新建执行器AppName为 xxl.job.executor.appnamemy-app中的my-app5.2、新建任务XxlJob(call-rabbitmq-s)中的call-rabbitmq-s 6、启动SpringBoot项目稍等刷新可以看到刚才新建的执行器的OnLine 机器地址为本机的ip,然后在调度中心开启刚才所建立的任务 SpringBoot使用xxl-job分布式任务调度平台定时检测RabbitMQ的消息队列自动发出钉钉警告消息 1、在pom.xml中导入xxl-job的maven依赖可以看我这篇文章使用抽离出来的xxl-job的starter 手写SpringBoot项目所使用的xxl-job分布式任务调度平台的starter !-- dependency-- !-- groupIdcom.xuxueli/groupId-- !-- artifactIdxxl-job-core/artifactId-- !-- version2.4.0/version-- !-- /dependency--!-- 自己抽离的starter,如果没有就用上面的普通依赖即可--dependencygroupIdcn.fpl/groupIdartifactIdxxl-job-starter/artifactIdversion1.0-SNAPSHOT/version/dependency2、配置xxl-job的相关配置若上一步使用了自己创建的starter则不用写下面的XxlJobConfig /** Copyright (c) 2020, 2024, fpl1116.cn All rights reserved.**/ package com.fpl.xxljob;import cn.hutool.core.net.NetUtil; import com.xxl.job.core.executor.impl.XxlJobSpringExecutor; import lombok.extern.slf4j.Slf4j; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.beans.factory.annotation.Value; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration;/*** pProject: spring-job - XxlJobConfig/p* pPowered by fpl1116 On 2024-04-16 11:28:16/p* p描述p** author penglei* version 1.0* since 1.8*/ Configuration public class XxlJobConfig {private Logger logger LoggerFactory.getLogger(XxlJobConfig.class);Value(${xxl.job.admin.addresses})private String adminAddresses;Value(${xxl.job.accessToken})private String accessToken;Value(${xxl.job.executor.appname})private String appname;Value(${xxl.job.executor.address})private String address;Value(${xxl.job.executor.ip})private String ip;Value(${xxl.job.executor.logpath})private String logPath;Value(${xxl.job.executor.logretentiondays})private int logRetentionDays;Beanpublic XxlJobSpringExecutor xxlJobExecutor() {logger.info( xxl-job config init.);XxlJobSpringExecutor xxlJobSpringExecutor new XxlJobSpringExecutor();xxlJobSpringExecutor.setAdminAddresses(adminAddresses);xxlJobSpringExecutor.setAppname(appname);xxlJobSpringExecutor.setAddress(address);xxlJobSpringExecutor.setIp(ip);//通过hutool工具获取一个本机可用端口int usableLocalPort NetUtil.getUsableLocalPort();xxlJobSpringExecutor.setPort(usableLocalPort);xxlJobSpringExecutor.setAccessToken(accessToken);xxlJobSpringExecutor.setLogPath(logPath);xxlJobSpringExecutor.setLogRetentionDays(logRetentionDays);return xxlJobSpringExecutor;}} 3、配置xxl-job相关的application.properties # XXL-JOB 相关配置# 安装xxl-job服务的ip和端口 xxl.job.admin.addresseshttp://localhost:8080/xxl-job-admin xxl.job.accessTokenmy-access-token xxl.job.executor.appnamemy-app xxl.job.executor.address xxl.job.executor.ip127.0.0.1 xxl.job.executor.logpath/data/applogs/xxl-job/jobhandler xxl.job.executor.logretentiondays30 4、编写调度任务代码实现检测rabbitmq中所有的消息队列并发送钉钉消息 XxlJob(call-rabbitmq-s)public void demoJobHandler3() throws Exception {String jobParam XxlJobHelper.getJobParam();HashMap paramObj JSONUtil.toBean(jobParam, HashMap.class);Object host paramObj.get(host);Object port paramObj.get(port);String rabbitMQUrl StrUtil.format(http://{}:{}/api/queues,host,port);String body HttpRequest.of(rabbitMQUrl).method(Method.GET).header(Authorization, Basic Z3Vlc3Q6Z3Vlc3Q).execute().body();// 解析队列详情获取 messagesJSONArray queues JSONUtil.parseArray(body);for (Object queue : queues){JSONObject queueDetailsJSON JSONUtil.parseObj(queue);Object messages queueDetailsJSON.get(messages);Object queueName queueDetailsJSON.get(name);int messageCount Integer.parseInt(messages.toString());if(messageCount 5){log.debug(报警- 队列{},消息数量{},queueName,messageCount);String url1 ;//你的钉钉机器人的key,并将机器人安全设置的自定义关键词设置为 报警JSONObject msg new JSONObject();msg.set(msgtype, text);// 使用 String.format() 格式化文本字符串并用 queueName 和 messageCount 替换占位符String formattedText String.format(报警- 队列%s,消息数量%d, queueName, messageCount);// 创建一个新的 JSONObject 用于存储文本内容并将其 content 字段设置为格式化后的文本字符串msg.set(text, new JSONObject().put(content, formattedText));// msg.set(at, new JSONObject().set(isAtAll, true));String json JSONUtil.toJsonStr(msg);String result HttpRequest.post(url1).body(json).execute().body();} else {log.debug(正常);}log.info(参数:{},jobParam);}}5、进入xxl-job的任务调度中心新建执行器和任务 5.1、新建执行器AppName为 xxl.job.executor.appnamemy-app中的my-app XxlJob(“call-rabbitmq-s”)中的call-rabbitmq-s 5.2、新建任务XxlJob(“call-rabbitmq-s”)中的call-rabbitmq-s 6、启动SpringBoot项目稍等刷新可以看到刚才新建的执行器的OnLine 机器地址为本机的ip,然后在调度中心开启刚才所建立的任务
http://www.zqtcl.cn/news/169981/

相关文章:

  • 兰州市住房保障和城乡建设局网站如何有效的推广网站
  • 网站推广做百度还是360北京企业网站建设费用
  • 推荐一个简单的网站制作策划方案免费网站
  • 用vs2012做网站案例企业现在有必要做网站吗
  • 网站建设少用控件wordpress默认分类
  • php网站是什么数据库文件网站开发收
  • 新网网站空间做网站和app哪类商标
  • drupal网站建设数据库厦门市网站建设
  • 解释微信微网站室内设计效果图展板
  • 教做发绳的网站游戏网站建设需要多少钱
  • 那个网站可以做双色球号码对比的网站设计好学吗
  • 网站建设如何获取客户韩国建筑网站
  • 固始网站建设公司wordpress会员功能
  • 在哪找做调查赚钱的网站好自己做网站的成本
  • 网站开发职业xshuan主题wordpress
  • 网站代码框架建设网站需要学什么程序
  • 广州搜索seo网站优化企业邮箱密码忘了怎么重置密码
  • 重庆模板网站建设做新房网站怎么弄
  • 深圳做企业网站公司常用的网络营销方式
  • 建设网站公司怎么建站网站开发笔记
  • 网站网页建设论文惠州建设网站公司
  • 中介做网站的别打电话有没有教做健身餐的网站
  • 山东电力建设网站雷州市网站建设
  • 企业网站的意义公司网站建app
  • 网站设计模板免费国庆图片制作小程序
  • 包头焦点网站建设郑州包装设计公司
  • 建行官方网站首页做跨境电商亏死了
  • 河北智能网站建设平台卖链接的网站
  • 网站建设简单点的服装搭配网站建设策划书
  • 哪一个军事网站做的比较好今天第四针最新消息