Java應(yīng)用接入SchedulerX
本文介紹如何通過Java應(yīng)用快速接入SchedulerX。
前提條件
(可選)已創(chuàng)建命名空間。具體操作,請參見創(chuàng)建命名空間。
已創(chuàng)建資源。具體操作,請參見創(chuàng)建資源。
Java應(yīng)用客戶端接入SchedulerX
在應(yīng)用程序的
pom.xml
文件中添加SchedulerxWorker依賴。請參見發(fā)布記錄,
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>
在main函數(shù)中初始化SchedulerxWorker。
初始化SchedulerxWorker時,會用到您部署應(yīng)用的地域(Region)和對應(yīng)的Endpoint。更多信息,請參見Endpoint列表。
Namespace為命名空間ID,可以在控制臺命名空間頁面獲取。
GroupId為應(yīng)用ID,可以在控制臺應(yīng)用管理頁面獲取。您也可以在操作列,單擊接入配置獲取對應(yīng)接入方式的配置信息。
public void initSchedulerxWorker() throws Exception { SchedulerxWorker schedulerxWorker = new SchedulerxWorker(); schedulerxWorker.setEndpoint("xxxx"); schedulerxWorker.setNamespace("xxxx"); schedulerxWorker.setGroupId("xxxx"); //1.2.1及以上版本需要設(shè)置應(yīng)用key schedulerxWorker.setAppKey("xxxx"); schedulerxWorker.init(); }
說明一個應(yīng)用如果包含多個業(yè)務(wù),或者想把定時任務(wù)進(jìn)行歸類,可以建立多個分組,例如應(yīng)用
animals
新建了兩個分組animals.dogs
和animals.cats
。此時不用申請兩批實例分別接入這兩個分組,在應(yīng)用客戶端中把這兩個分組配置到groupId=
后面即可,例如groupId=animals.dogs,animals.cats
。在初始化SchedulerxWorker客戶端時,如果還有其他配置需求,可以添加配置。更多信息,請參見SchedulerxWorker配置參數(shù)說明添加配置。
在應(yīng)用中創(chuàng)建類
JobProcessor
,實現(xiàn)任務(wù)調(diào)度。本文僅介紹如何實現(xiàn)一個最簡單的定時打印“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); } }
結(jié)果驗證
客戶端接入完成,將該應(yīng)用發(fā)布到阿里云。
登錄EDAS控制臺。
- 在左側(cè)導(dǎo)航欄單擊任務(wù)調(diào)度。
- 在頂部菜單欄選擇地域。
在左側(cè)導(dǎo)航欄,單擊應(yīng)用管理。
在應(yīng)用管理頁面查看實例總數(shù)。
如果實例總數(shù)為0,則說明應(yīng)用接入失敗。請檢查、修改本地應(yīng)用。
如果實例總數(shù)不為0,顯示接入的實例個數(shù),則說明應(yīng)用接入成功。在操作列單擊查看實例,即可在連接實例對話框中查看實例列表。
后續(xù)步驟
應(yīng)用接入SchedulerX完成后,即可在分布式任務(wù)調(diào)度平臺創(chuàng)建調(diào)度任務(wù)。更多信息,請參見創(chuàng)建調(diào)度任務(wù)。