zoukankan      html  css  js  c++  java
  • 分布式任务平台XXL-JOB

    参考:https://www.cnblogs.com/ysocean/p/10541151.html

    码云:https://gitee.com/xuxueli0323/xxl-job

    1、数据库导入 mysql版本5.7

    2、修改调度中心配置文件

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

    配置数据库的地址、用户名、密码
    配置报警邮箱

    该工程是一个springboot项目,
    我们只需要在IDEA中执行 XxlJobAdminApplication 类即可运行该工程:

    在浏览器输入 http://localhost:8080/xxl-job-admin
    用户名密码admin 123456

    3、执行器项目


     springboot 版本的执行器为例来介绍
    3.1 在创建好的springboot 项目的pom.xml 文件中添加如下依赖:
    <dependency>
                <groupId>com.xuxueli</groupId>
                <artifactId>xxl-job-core</artifactId>
                <version>2.1.1-SNAPSHOT</version>
            </dependency>

    3.2 在创建好的springboot 项目的配置文件 application.yml 添加如下配置:

    xxl.job.admin.addresses=http://127.0.0.1:8080/xxl-job-admin
    
    ### xxl-job executor address
    xxl.job.executor.appname=xxl-job-executor-sample
    xxl.job.executor.ip=
    xxl.job.executor.port=9999
    
    ### xxl-job, access token
    xxl.job.accessToken=
    
    ### xxl-job log path
    xxl.job.executor.logpath=/data/applogs/xxl-job/jobhandler
    ### xxl-job log retention days
    xxl.job.executor.logretentiondays=-1

    有个BUG 添加配置解决

    spring.freemarker.request-context-attribute=request
    3.3

    载入配置文件

    在项目中创建 XxlJobConfig.java 文件:

    创建任务JobHandler

      在项目中创建一个Handler,用于执行我们想要执行的东西,这里我只是简单的打印一行日志:

      XXL-JOB, Hello World!!!

    import com.xxl.job.core.biz.model.ReturnT;
    import com.xxl.job.core.handler.IJobHandler;
    import com.xxl.job.core.handler.annotation.JobHandler;
    import com.xxl.job.core.log.XxlJobLogger;
    import org.springframework.stereotype.Component;
    
    import java.util.concurrent.TimeUnit;
    
    
    /**
     * 任务Handler示例(Bean模式)
     *
     * 开发步骤:
     * 1、继承"IJobHandler":“com.xxl.job.core.handler.IJobHandler”;
     * 2、注册到Spring容器:添加“@Component”注解,被Spring容器扫描为Bean实例;
     * 3、注册到执行器工厂:添加“@JobHandler(value="自定义jobhandler名称")”注解,注解value值对应的是调度中心新建任务的JobHandler属性的值。
     * 4、执行日志:需要通过 "XxlJobLogger.log" 打印执行日志;
     *
     * @author xuxueli 2015-12-19 19:43:36
     */
    @JobHandler(value="demoJobHandler")
    @Component
    public class DemoJobHandler extends IJobHandler {
    
        @Override
        public ReturnT<String> execute(String param) throws Exception {
            XxlJobLogger.log("XXL-JOB, Hello World.愉快的跑起来了");
            System.out.println("愉快的跑起来了");
            for (int i = 0; i < 5; i++) {
                XxlJobLogger.log("beat at:" + i);
                TimeUnit.SECONDS.sleep(2);
            }
            return SUCCESS;
        }
    
    }

    注意:这里有个注解 @JobHandler(value="demoJobHandler"),对于 value的值,我们会在下面进行相应配置。

    4、进入调度中心

    配置执行器

     配置完执行器以及任务,我们只需要启动该任务,便可以运行了。

    注意:在项目中,只有通过 XxlJobLogger.log() 代码才能将日志打印到上面。

    
    
  • 相关阅读:
    ASP.NET2.0中创建自定义配置节处理程序(声明性模型) joe
    .Net3.0里的DependencyProperty(1) joe
    详解Javascript匿名函数的使用(转) joe
    Mark:未能启用约束。一行或多行中包含违反非空、唯一或外键约束的值 joe
    设置windows 7 默认登陆帐户 joe
    数据库的回滚
    关于软件开发人员如何提高自己的软件专业技术方面的具体建议
    查询表结构
    readonly 和 const总结
    深入NHibernate映射
  • 原文地址:https://www.cnblogs.com/lyon91/p/11194988.html
Copyright © 2011-2022 走看看