Spring應用接入SchedulerX
您可以為您的Spring應用快速接入SchedulerX,實現分布式任務調度能力。
前提條件
Spring應用客戶端接入SchedulerX
在應用程序的
pom.xml
文件中添加SchedulerxWorker依賴。請參見客戶端發布記錄,
schedulerx2.version
使用最新客戶端版本。<dependency> <groupId>com.aliyun.schedulerx</groupId> <artifactId>schedulerx2-worker</artifactId> <version>${schedulerx2.version}</version> <!--如果用的是logback,需要把log4j和log4j2排除掉 --> <exclusions> <exclusion> <groupId>org.apache.logging.log4j</groupId> <artifactId>log4j-api</artifactId> </exclusion> <exclusion> <groupId>org.apache.logging.log4j</groupId> <artifactId>log4j-core</artifactId> </exclusion> <exclusion> <groupId>log4j</groupId> <artifactId>log4j</artifactId> </exclusion> </exclusions> </dependency>
在xml配置文件中初始化SchedulerxWorker(注入Bean)。
初始化SchedulerxWorker時,會用到您部署應用的地域(Region)和對應的Endpoint。詳情請參見Endpoint列表。
namespace為命名空間ID,可以在控制臺命名空間頁面獲取。
groupId為應用ID,appKey為應用key,可以在控制臺應用管理頁面獲取。您也可以在操作列,單擊接入配置獲取對應接入方式的配置信息。
<bean id="schedulerxWorker" class="com.alibaba.schedulerx.worker.SchedulerxWorker"> <property name="endpoint"> <value>${endpoint}</value> </property> <property name="namespace"> <value>${namespace}</value> </property> <property name="groupId"> <value>${groupId}</value> </property> <!--1.2.1及以上版本設置appKey --> <property name="appKey"> <value>${appKey}</value> </property> </bean>
說明一個應用如果包含多個業務,或者想把定時任務進行歸類,可以建立多個分組,例如應用
animals
建了兩個分組animals.dogs
和animals.cats
。此時不用申請兩批實例分別接入這兩個分組,在應用客戶端中將這兩個分組配置到groupId=
后面即可,例如groupId=animals.dogs,animals.cats
。在初始化SchedulerxWorker客戶端時,如果還有其它配置需求,可以參考SchedulerxWorker配置參數說明添加配置。
在應用中創建類
JobProcessor
,實現任務調度。本文僅介紹如何實現一個最簡單的定時打印“Hello SchedulerX2.0”的
JobProcessor
類。package com.aliyun.schedulerx.test.job; import com.alibaba.schedulerx.worker.domain.JobContext; import com.alibaba.schedulerx.worker.processor.JavaProcessor; import com.alibaba.schedulerx.worker.processor.ProcessResult; @Component public class MyHelloJob extends JavaProcessor { @Override public ProcessResult process(JobContext context) throws Exception { System.out.println("hello schedulerx2.0"); return new ProcessResult(true); } }
結果驗證
客戶端接入完成,將該應用發布到阿里云。
登錄分布式任務調度平臺,在頂部菜單欄選擇地域,然后在左側導航欄,單擊應用管理,在應用管理頁面查看實例總數。
如果實例總數為0,說明應用接入失敗。請檢查、修改本地應用。
如果實例總數不為0,顯示接入的實例個數,說明應用接入成功。在操作列單擊查看實例,即可在連接實例對話框中查看實例列表。
后續步驟
應用接入SchedulerX完成后,即可在分布式任務調度平臺創建調度任務。更多信息,請參見創建調度任務。