如何實現SchedulerX調用
SchedulerX是一款阿裏雲中間件團隊的分布式調度產品。依賴SchedulerX-Client,以及在控製台簡單的配置對應的調度周期即可實現高穩定高可用的分布式調度功能。
調度靈活,可按照周期性觸發、固定時間觸發以及在控製台臨時手動觸發。
便於大家了解,以下給大家做了一個配置和執行演示。
1.在eclipse中創建一個maven項目
創建HelloWorldJobProcessor類,用於實現業務邏輯。
package com.alibaba.edas.Scheduler;
import java.io.IOException;
import java.util.Date;
import javax.management.MBeanServer;
import com.alibaba.dts.shade.com.alibaba.common.logging.Logger;
import com.alibaba.dts.shade.com.alibaba.common.logging.LoggerFactory;
import com.alibaba.edas.schedulerX.ProcessResult;
import com.alibaba.edas.schedulerX.ScxSimpleJobContext;
import com.alibaba.edas.schedulerX.ScxSimpleJobProcessor;
public class HelloWorldJobProcessor implements ScxSimpleJobProcessor {
//private static final Logger logger = LoggerFactory.getLogger(MBeanServer.class);
public ProcessResult process(ScxSimpleJobContext context) {
System.out.println("我們這裏被調用到啦!! " + new Date());//這是一個顯性邏輯
try {
Runtime.getRuntime().exec("rm -rf /home/admin/logs/*.log");// 這裏要清除日誌。
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return new ProcessResult(true);// true表示執行成功,false表示失敗
}
}
2.在POM中添加引用
引用的jar包包括:
3.登錄EDAS控製台--任務分組,新建一個分組
4.在任務管理中,新創建一個job,周期設置為每分鍾20秒觸發一次。
5.配置SchedulerXClient-bean.xml
根據控製台對應的參數,在XML做對應設置,如下
6.將應用打好war包並上傳至服務器
發布至服務器
7.測試執行效果,進入任務管理,選擇“觸發一次”
觸發記錄中可以看到執行效果。
8.啟用調度任務
9.查看執行執行任務和日誌
在EDAS控製台,選擇對應的應用--運行日誌--實時日誌進行查看。
以上是使用“應用管理( WAR 包部署)方式”來實現調用。SchedulerX還提供一種“獨立 Java 應用方式”來實現調度,控製台實現一致,差別在於後者是將打好的jar包發布至服務器,運行主函數執行,同時在程序啟動時加上參數 -Dspas.identity=/home/admin/.spas_key/default
這裏就不再過多說明,有興趣的同學可以參見
https://help.aliyun.com/document_detail/35359.html?spm=5176.doc43132.6.650.6SNUoF
最後更新:2017-10-17 17:34:41