xxl是多大(男士XXL是多大码)

在业务中,我们经常需要定期执行一些特定的任务,比如每天早上统计昨天的数据等等。这就是我们所说的任务调度。在java项目中,我们之前一般使用quartz和spring自己的时间表。与quartz相比,它支持更多的API,但在分布式场景下,我们都面临着作业重复执行的问题。当然,如果要这样使用,可以使用分布式锁,或者在单个节点上部署作业,然后调用服务,避免作业的重复执行。那么,还有其他的自然支持方案吗?在这里,我们介绍xxl-job。官方介绍是分布式任务调度平台。这有点像我们微服的注册中心。各节点向管理平台注册调度任务,任务在管理系统侧统一调度。执行时只需选择一个节点执行,不会造成多个节点同时执行。我们来体验一下xxl-job1。从github https://github.com/xuxueli/xxl-job.下载源代码我们这里主要需要的是xxl-job-admin,这是调度平台的管理端。

2.导入的sql源代码下doc/db下的sql文件是xxl-job-admin的建表sql

xxl是多大(男士XXL是多大码)

数据执行后

xxl是多大(男士XXL是多大码)

3.启动xxl-job-admin项目,修改xxl-job-admin的配置文件,主要是数据库信息,然后启动项目。

xxl是多大(男士XXL是多大码)

用户名:admin密码:123456进入后,会看到如下管理界面

xxl是多大(男士XXL是多大码)

4.编写应用程序来执行调度任务4.1编写配置文件类

@ Data @ super builder @ AllArgsConstructor @ NoArgsConstructor @ configuration properties(前缀= & # 34;xxl.job & # 34)公共类XxlJobProperties {私有字符串adminAddresses私有字符串accessToken私人遗嘱执行人;@ Data @ super builder @ AllArgsConstructor @ NoArgsConstructor公共静态类执行器{ private String appName私有字符串地址;私有字符串IP;专用int端口;私有字符串logPathprivate int logRetentionDays}}4.2配置bean

@ Slf4j @ RequiredArgsConstructor @ Configuration @ EnableConfigurationProperties(value = { XxlJobProperties . class })public类XxlJobConfiguration { private final XxlJobProperties XxlJobProperties;@ Bean public XxlJobSpringExecutor xxlJobExecutor(){ log . info(& # 34;& gt& gt& gt& gt& gt& gt& gt& gt& gt& gt& gtxxl-作业配置初始化。");XxlJobProperties。executor executor = xxjobproperties . get executor();xxjobspringexecutor xxjobspringexecutor = new xxjobspringexecutor();xxljobspringexecutor . setadminaddresses(xxljobproperties . getadminaddresses());xxljobspringexecutor . set appname(executor . get appname());xxljobspringexecutor . set address(executor . get address());xxljobspringexecutor . setip(executor . getip());xxljobspringexecutor . setport(executor . get port());xxljobspringexecutor . setaccesstoken(xxljobproperties . getaccessstoken());xxljobspringexecutor . setlog path(executor . getlog path());xxljobspringexecutor . setlogretentiondays(executor . getlogretentiondays());返回xxlJobSpringExecutor}}4.3写一个测试用的作业

@ Slf4j @ component public class xxl schedule { @ xxl job(& # 34;demoJobHandler & # 34)public void demoJobHandler()抛出异常{ xxljobhelper . log(& # 34;XXL-约伯,你好世界。");log . info(& # 34;XXL-约伯,你好世界。");for(int I = 0;我& lt5;i++){ xxljobhelper . log(& # 34;打在:& # 34;+I);log . info(& # 34;打在:& # 34;+I);时间单位。seconds . sleep(2);} //默认成功}}4.4配置文件

# web portserver . port = 8081 # no web # spring . main . we B- environment = false # log config # logging . config = class path:log back . XML # # # xxl-job admin地址列表,如& # 34;http://address & # 34;或者& # 34;http://address01,http://address 02 & # 34;Xxl . job . admin-addresses = http://127 . 0 . 0 . 1:8080/Xxl-job-admin # # # Xxl-job,access token = # # # Xxl-job executor appname Xxl . job . executor . app-name = Xxl-job-executor-sample # # # Xxl-job executor registry-address:默认使用地址到注册表,否则使用ip:port如果地址为nullxxl . job . executor . address = # # # Xxl

xxl是多大(男士XXL是多大码)

5.尝试执行任务。5.1执行一次

xxl是多大(男士XXL是多大码)

控制台输入如下

xxl是多大(男士XXL是多大码)

5.2设置任务每秒执行一次。

xxl是多大(男士XXL是多大码)

开始

xxl是多大(男士XXL是多大码)

可以看到任务在不断的执行。

xxl是多大(男士XXL是多大码)

以上是xxl-job的演示执行,实际业务中可以根据自己的情况进行调整。另外还有一个powerjob,看介绍的时候好像比较厉害。然而,ui还不可用,所以我以后会有机会研究它。

本文标题:xxl是多大(男士XXL是多大码)

本文地址:https://www.xbwxq.com/a/17554.html

本文来自投稿,仅供学习参考!不代表本站立场,该文观点仅代表原作者本人,本站不拥有所有权,不承担相关法律责任。如发现本站有抄袭侵权/违规的内容,请发送邮件至83771837@qq.com举报,一经查实,本站将立刻删除。