1. 程式人生 > >分散式定時任務

分散式定時任務

分散式定時任務:

        1. Maven引用

        2. 排程控制檯

        3. IJobHandler使用說明

        4. 控制檯配置

        5.
注意事項

1. maven引用

<dependency>
    <groupId>com.foriseland.xxl.job</groupId>
    <artifactId>xxljob-core</artifactId>
    <version>1.9.3-SNAPSHOT</version>
</dependency>

2.排程控制檯

http://192.168.2.1:8091/xxljob/jobinfo

賬號:admin

密碼:********

3.IJobHandler使用說明

@JobHandler(value="demoDaMaiJobHandler")
@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;
	}
}

l  首先繼承IJobHandler這個介面,實現ReturnT方法

l  方法內寫自己的任務邏輯。

l  resources下新建spring資料夾,新建spring-xxl-job.xml檔案。

l  spring-xxl-job.xml 檔案內容如下:

    <bean id="xxlJobExecutor" class="com.xxl.job.core.executor.XxlJobExecutor" init-method="start" destroy-method="destroy">
	<!-- 執行器註冊中心地址[選填],為空則關閉自動註冊 -->
	<property name="adminAddresses" value="${overall_public/xxl.job.admin.addresses}" />
	<!-- 執行器AppName[選填],為空則關閉自動註冊 -->
	<property name="appName" value="${overall_public/xxl.job.executor.appname}" />
	<!-- 執行器IP[選填],為空則自動獲取 -->
	<property name="ip" value="${overall_public/xxl.job.executor.ip}" />
	<!-- 執行器埠號[選填],為空則自動獲取 -->
	<property name="port" value="${overall_public/xxl.job.executor.port}" />
	<!-- 訪問令牌[選填],非空則進行匹配校驗 -->
	<property name="accessToken" value="${overall_public/xxl.job.accessToken}" />
	<!-- 執行器日誌路徑[選填],為空則使用預設路徑 -->
	<property name="logPath" value="${overall_public/xxl.job.executor.logpath}" />
	<!-- 日誌儲存天數[選填],值大於3時生效 -->
	<property name="logRetentionDays" value="${overall_public/xxl.job.executor.logretentiondays}" />
    </bean>

4.控制檯配置

            
配置步驟

1). 配置執行器管理 2). 任務管理

3). 新建任務

Cronschedule表示式(如:*/5 * * * * ?

執行模式:選擇BEAN模式

JobHandler*:選擇程式@JobHandler(value="demoDaMaiJobHandler")bean名稱demoDaMaiJobHandler

l  配置完成後,點選執行,可通過日誌進行檢視執行。

5.注意事項

所有定時任務專案配置在worker工程下,其次包的命名結構嚴格按照 com.fl名.f名.業務 下,保證spring啟動能被掃描。