[XXL-JOB] 項目集成-Framework

1、導入pom座標

<dependency>
     <groupId>com.hbasesoft.framework</groupId>
     <artifactId>framework-job-core</artifactId>
</dependency>
<dependency>
     <groupId>com.hbasesoft.framework</groupId>
     <artifactId>framework-job-xxl</artifactId>
</dependency>

2、項目配置文件配置xxl-job信息

job.enable: true                                      # 是否啓用
job.xxl.admin.addresses: http://*****/xxl-job-admin   # xxl-job地址
job.xxl.accessToken:                                  # token 選填
job.xxl.executor.appname: mbp-job                     # 定時任務執行器名稱
job.xxl.executor.port: 9999                           
job.xxl.executor.logpath: /data/logs/java/mbp-job     #日誌
job.xxl.executor.logretentiondays: 30

3、創建定時任務類

package com.tlc.cms.job;

import com.hbasesoft.framework.common.utils.ContextHolder;
import com.hbasesoft.framework.common.utils.logger.LoggerUtil;
import com.hbasesoft.framework.job.core.JobContext;
import com.hbasesoft.framework.job.core.SimpleJob;
import com.hbasesoft.framework.job.core.annotation.Job;
import com.tlc.cms.entity.CmsAdEntity;
import com.tlc.cms.service.CmsAdService;
import org.springframework.beans.factory.annotation.Autowired;

import java.util.List;

// 1: 添加Job註解
@Job(name = "cmsAdJob", cron = "0 0 1 * * ?")
public class CmsAdJob implements SimpleJob {

    private CmsAdService cmsService;

    // 2: 如果想要在該類內部引用其他Bean,需通過此方法獲取Bean對象,不可直接使用註解注入對象
    protected CmsAdService getCmsAdService() {
        if (cmsService == null) {
            cmsService = ContextHolder.getContext().getBean(CmsAdService.class);
        }
        return cmsService;
    }


    @Override
    public void execute(final JobContext jobContext) {
        LoggerUtil.info("===================定時任務開始==================");
        /**
        此處寫自己的定時任務邏輯代碼
        */
        LoggerUtil.info("===================定時任務結束==================");
    }
}

4、xxl-job配置執行器和定時任務

1、配置執行器

配置完後保存。

2、配置任務

5、配置任務結束即可

 可手動觸發任務執行。

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章