课程咨询 :18300268127
QQ:2720475033

  • 学习java分布式任务调度xxl-job,实用哟!(二)

    发布:青岛达内      来源:互联网      时间:2017-12-01

  • 步骤一:调度中心配置:

        调度中心配置文件地址:

        /xxl-job/xxl-job-admin/src/main/resources/xxl-job-admin.properties

        调度中心配置内容说明:

        ### 调度中心JDBC链接:链接地址请保持和 2.1章节 所创建的调度数据库的地址一致

    青岛达内培训


        xxl.job.db.driverClass=com.mysql.jdbc.Driver

        xxl.job.db.url=jdbc:mysql://localhost:3306/xxl-job?useUnicode=true&characterEncoding=UTF-8

        xxl.job.db.user=root

        xxl.job.db.password=root_pwd

        ### 报警邮箱

        xxl.job.mail.host=smtp.163.com

        xxl.job.mail.port=25

        xxl.job.mail.username=ovono802302@163.com

        xxl.job.mail.password=asdfzxcv

        xxl.job.mail.sendFrom=ovono802302@163.com

        xxl.job.mail.sendNick=《任务调度平台XXL-JOB》

        ### 登录账号

        xxl.job.login.username=admin

        xxl.job.login.password=123456

        ### 调度中心通讯TOKEN,非空时启用

        xxl.job.accessToken=

        步骤二:部署项目:

        如果已经正确进行上述配置,可将项目编译打war包并部署到tomcat中。 调度中心访问地址:http://localhost:8080/xxl-job-admin (该地址执行器将会使用到,作为回调地址),登录后运行界面如下图所示

        至此“调度中心”项目已经部署成功。

        步骤三:调度中心集群(可选):

        调度中心支持集群部署,提升调度系统可用性。

        集群部署唯一要求为:保证每个集群节点配置(db和登陆账号等)保持一致。调度中心通过db配置区分不同集群。

        调度中心在集群部署时可通过nginx负载均衡,此时可以为集群分配一个域名。该域名一方面可以用于访问,另一方面也可以用于配置执行器回调地址。

        2.4 配置部署“执行器项目”

        “执行器”项目:xxl-job-executor-sample-spring (如新建执行器项目,可参考该Sample示例执行器项目的配置步骤;)

        作用:负责接收“调度中心”的调度并执行;可直接部署执行器,也可以将执行器集成到现有业务项目中。

        步骤一:maven依赖

        确认pom文件中引入了 “xxl-job-core” 的maven依赖;

        步骤二:执行器配置

        执行器配置,配置文件地址:

        /xxl-job/xxl-job-executor-samples/xxl-job-executor-sample-spring/src/main/resources/xxl-job-executor.properties

        执行器配置,配置内容说明:

        ### xxl-job admin address list:调度中心部署跟地址:如调度中心集群部署存在多个地址则用逗号分隔。执行器将会使用该地址进行“执行器心跳注册”和“任务结果回调”.

        xxl.job.admin.addresses=http://127.0.0.1:8080/xxl-job-admin

        ### xxl-job executor address:执行器“AppName”和地址信息配置:AppName执行器心跳注册分组依据;地址信息用于“调度中心请求并触发任务”和“执行器注册”.执行器默认端口为9999,执行器IP默认为空表示自动获取IP,多网卡时可手动设置指定IP,手动设置IP时将会绑定Host.单机部署多个执行器时,注意要配置不同执行器端口;

        xxl.job.executor.appname=xxl-job-executor-sample

        xxl.job.executor.ip=

        xxl.job.executor.port=9999

        ### xxl-job log path:执行器运行日志文件存储的磁盘位置,需要对该路径拥有读写权限

        xxl.job.executor.logpath=/data/applogs/xxl-job/jobhandler/

        ### xxl-job, access token:执行器通讯TOKEN,非空时启用

        xxl.job.accessToken=

        步骤三:执行器组件配置

        执行器组件,配置文件地址:

        /xxl-job/xxl-job-executor-samples/xxl-job-executor-sample-spring/src/main/resources/applicationcontext-xxl-job.xml

        执行器组件,配置内容说明:

        <!-- 配置01、JobHandler 扫描路径:自动扫描容器中JobHandler -->

        <context:component-scan base-package=“com.xxl.job.executor.service.jobhandler” />

        <!-- 配置02、执行器Excutor配置:执行器核心配置 -->

        <bean id=“xxlJobExecutor” class=“com.xxl.job.core.executor.XxlJobExecutor” init-method=“start” destroy-method=“destroy” >

        <!-- 执行器IP[选填],为空则自动获取 -->

        <property name=“ip” value=“${xxl.job.executor.ip}” />

        <!-- 执行器端口号[必须] -->

        <property name=“port” value=“${xxl.job.executor.port}” />

        <!-- 执行器AppName[选填],为空则关闭自动注册 -->

        <property name=“appName” value=“${xxl.job.executor.appname}” />

        <!-- 执行器注册中心地址[选填],为空则关闭自动注册 -->

        <property name=“adminAddresses” value=“${xxl.job.admin.addresses}” />

        <!-- 执行器日志路径[必填] -->

        <property name=“logPath” value=“${xxl.job.executor.logpath}” />

        <!-- 访问令牌,非空则进行匹配校验[选填] -->

        <property name=“accessToken” value=“${xxl.job.accessToken}” />

        </bean>

        步骤四:部署执行器项目:

        如果已经正确进行上述配置,可将执行器项目编译打部署,系统提供三个执行器Sample示例项目,选择其中一个即可,各自的部署方式如下。

        xxl-job-executor-sample-spring:项目编译打包成WAR包,并部署到tomcat中。

        xxl-job-executor-sample-springboot:项目编译打包成springboot类型的可执行JAR包,命令启动即可;

        至此“执行器”项目已经部署结束。

        步骤五:执行器集群(可选):

        执行器支持集群部署,提升调度系统可用性,同时提升任务处理能力。

        集群部署唯一要求为:保证集群中每个执行器的配置项 “xxl.job.admin.addresses/调度中心地址” 保持一致,执行器根据该配置进行执行器自动注册等操作。

        2.5 开发第一个任务“Hello World”

        本示例以新建一个 “GLUE模式(Java)” 运行模式的任务为例。更多有关任务的详细配置,请查看“章节三:任务详解”. ( “GLUE模式(Java)”的执行代码托管到调度中心在线维护,相比“Bean模式任务”需要在执行器项目开发部署上线,更加简便轻量)

        前提:请确认“调度中心”和“执行器”项目已经成功部署并启动;

        步骤一:新建任务:

        登录调度中心,点击下图所示“新建任务”按钮,新建示例任务。然后,参考下面截图中任务的参数配置,点击保存。

        步骤二:“GLUE模式(Java)” 任务开发:

        请点击任务右侧 “GLUE” 按钮,进入 “GLUE编辑器开发界面” ,见下图。“GLUE模式(Java)” 运行模式的任务默认已经初始化了示例任务代码,即打印Hello World. ( “GLUE模式(Java)” 运行模式的任务实际上是一段继承自IJobHandler的Java类代码,它在执行器项目中运行,可使用@Resource/@Autowire注入执行器里中的其他服务)

        步骤三:触发执行:

        请点击任务右侧 “执行” 按钮,可手动触发一次任务执行(通常情况下,通过配置Cron表达式进行任务调度出发)。

        步骤四:查看日志:

        请点击任务右侧 “日志” 按钮,可前往任务日志界面查看任务日志。 在任务日志界面中,可查看该任务的历史调度记录以及每一次调度的任务调度信息、执行参数和执行信息。运行中的任务点击右侧的“执行日志”按钮,可进入日志控制台查看实时执行日志。

    本篇文章是有青岛达内培训为您呈现,希望给您带来更多更好的文章

    更多青岛IT培训相关资讯,请扫描下方二维码

    青岛IT培训

上一篇:学习java分布式任务调度xxl-job,实用哟!

下一篇:学平面设计未来需要做什么工作?达内告诉你

最新开班日期  |  更多

java培训班

java培训班

开班日期:12月29日

UI设计培训班

UI设计培训班

开班日期:12月29日

web培训班

web培训班

开班日期:12月29日

php培训班

php培训班

开班日期:12月29日

达内教育

有位老师想和您聊一聊