全部產品
Search
文件中心

SchedulerX:Java SDK

更新時間:Jul 26, 2025

本文介紹SchedulerX產品的Java SDK發布的功能變更,包括新增功能、功能最佳化、重要問題修複等,協助您瞭解SchedulerX的Java SDK發布動態。

2025年

版本

變更類型

功能描述

發布時間

相關文檔

1.13.1

問題修複

  • 修複spring父子容器情境下心跳註冊提前上報的問題。

  • 修複早期版本升級至新版SDK過程中Map任務出現停止異常的問題。

2025年07月28日

1.13.0

新功能

支援鏈路加密:專業版應用,服務端和用戶端之間通訊,敏感性資料會進行加密。

2025年06月18日

1.12.7

最佳化

  • 重構指令碼任務預留位置邏輯,解決Spring衝突導致預留位置替換失敗的問題。

  • 升級Spring版本到5.3.31,修複Spring安全性漏洞。

2025年05月29日

問題修複

  • 修複廣播任務和分區任務,第0號分區不支援子任務失敗自動重試的問題。

  • 修複可視化Mapreduce任務,手動重跑,contexttriggerType不對的問題。

1.12.5

最佳化

最佳化Spring任務相容存在其他組件實現TaskScheduler的情境。

2025年02月08日

1.12.3

新功能

  • 支援配置SDK日誌目錄。

    • 啟動命令添加:-Dschedulerx.log.path=日誌根路徑,最終路徑({schedulerx.log.path}/logs/schedulerx)。

  • 支援SDK架構日誌logback自訂配置覆蓋,且支援日誌輸出至自有SLS倉庫。

2025年01月03日

最佳化

  • 最佳化Spring任務相容支援Spring 6.x版本。

  • 修複業務JDBC未配置驅動類時出現H2 DriverClass NotFound的異常問題。

  • 修複Map任務狀態檢查並發問題導致任務失敗結束的問題。

2024年

版本

變更類型

功能描述

發布時間

相關文檔

1.12.2

最佳化

  • 修複可視化MapReduce任務安全性漏洞。

  • 修複部分akka介面安全性漏洞。

2024年11月20日

1.12.1

新功能

  • http agent任務支援自訂線程池大小。

  • 支援自訂schedulerx日誌輸出logger。

  • 新增@SchedulerX註解,可以和Spring @Scheduled註解同時生效,接管Spring部分定時任務。

2024年10月12日

最佳化

  • 移除fastjson包,解決安全性漏洞。

1.11.5

最佳化

  • 最佳化SLS日誌的日誌輸出。

  • 修複多個應用分組讀取配置異常時,導致心跳上報互相影響的問題。

  • 最佳化降低心跳逾時異常時,容錯重試次數。

2024年06月17日

1.11.4

新功能

JobContext可以擷取工作流程ID。

2024年03月20日

JobContext參數說明

最佳化

  • SDK瘦身,去除無用的依賴。

  • 去除SDK無用的Log4j2.xml,防止日誌配置衝突。

1.11.1

新功能

支援通過環境變數擷取任務參數。

2024年02月20日

新功能

支援通過應用隔離。

問題修複

  • 修複Netty的安全性漏洞。

  • 修複Logback的安全性漏洞。

  • 修複日誌衝突導致SchedulerX架構日誌無法顯示的問題。

1.10.14

新功能

在業務應用停機之前,等待當前正在執行的任務完成後,再安全地關閉應用,實現發布重啟過程中業務無損。

2024年01月02日

如何將任務調度應用優雅下線

新功能

支援配置子任務分發速率。

新功能

支援配置User和Password。

  • spring.schedulerx2.h2DatabaseUser:設定H2內建資料庫使用者。

  • spring.schedulerx2.h2DatabasePassword:設定H2內建資料庫密碼。

Spring Boot應用接入SchedulerX

最佳化

支援按應用分組隔離。

最佳化

支援按Worker IP排序分發。

最佳化

  • 支援Spring 4的低版本。

  • Spring任務定時方法支援任意傳回值。

Spring任務

最佳化

  • 避免Spring容器重複初始化時,心跳線程被重複建立。

  • Akka Actor意外終止時,支援自動重啟。

問題修複

  • 修複Spring讀取不到Processor Bean後,直接返回異常的問題。

  • 修複1.10.x引入的Map任務運行卡住的問題。

  • 修複廣播任務的preProcess執行異常後,任務執行個體無法結束的問題。

  • 修複任務運行執行個體異常終止時,由於殘留線程導致任務運行逾時警示的問題。

  • 修複共用線程池模式下,應用剛啟動後可能出現任務狀態丟失卡住問題。

  • 修複多個應用分組或appKey中存在特殊字元時接入配置載入異常的問題。

  • 修複無法使用可視化Map任務的專業版相關功能問題。

2023年

版本

變更類型

功能描述

發布時間

相關文檔

1.9.6

新功能

支援標準模板和自訂模板。

  • 標準模板:可自主修改鏡像、鏡像拉取策略。

  • 自訂模板:相容k8s原生內容(schedulerx2-plugin-kubernetes需升級到1.0.5及以上版本)。

2023年07月04日

新功能

Map任務在分發時支援從隨機位置開始,需配置參數(預設false):spring.schedulerx2.mapMasterDispatchRandom=true

新功能

Shell任務支援通用系統內建參數。

  • schedule.timestamp(執行調度時間)

  • data.timestamp(調度資料時間)

1.8.13

新功能

執行執行緒模式調整。

  • 模型切換為非共用線程池模式。

  • 共用線程池模型下共用線程池參數。

    • spring.schedulerx2.shareContainerPool=true:開啟共用線程池。

    • spring.schedulerx2.sharePoolSize=32:共用線程池全域大小,預設:64。

    • spring.schedulerx2.sharePoolQueueSize=20480:共用線程池隊列大小,預設:Integer.MAX_VALUE。

2023年09月08日

新功能

相關參數如下所示。

  • spring.schedulerx2.broadcastMasterExecEnable=false:主節點是否參與廣播任務執行,預設true。

  • spring.schedulerx2.broadcastDispatchRetryTimes=5:廣播分發嘗試次數。

最佳化

最佳化Map任務在應用大規模發布和縮容過程中的效能。

最佳化

最佳化應用啟動心跳彙報時間點防止業務容器啟動過長導致的任務處理長耗時

問題修複

  • 修複共用線程池模式下,任務長時間運行後被拒絕問題。

  • 修複任務狀態彙報過程偶現的null 指標日誌問題。

  • 修複1.7.x版本後出現廣播任務線程持續增長問題。

  • 修複共用線程池模式下存在的記憶體資源泄漏問題。

  • 修複動態代理對象無法執行Reduce問題。

  • 修複秒層級任務執行應答合并丟失問題。

  • 修複Diamond讀取環境地址異常問題。

  • 修複對接公用雲端時存在的心跳逾時過長問題。

  • 修複log4j日誌格式警示。

  • 修複單機任務分發異常情況下會卡住的問題。

  • 修複新版本不相容原先ClassName:BeanId的配置模式。

  • 修改Logback單機日誌最大檔案限制。

2022年

版本

變更類型

功能描述

發布時間

相關文檔

1.7.10

新功能

  • 支援Spring原生定時任務整合。

  • 支援全鏈路追蹤能力整合。

2022年08月30日

最佳化

用戶端停機下線快速響應。

問題修複

  • 修複高頻任務大量SLS日誌輸出的記憶體溢出問題。

  • 修複大量秒層級任務集中運行時出現的延遲問題。

1.6.1

問題修複

修複秒層級廣播檢測線程CPU偏高的問題。

2022年08月03日

1.6.0

新功能

支援K8s Job調度能力整合。

2022年06月24日

最佳化

  • Processor處理類相容配置Spring AOP代理。

  • 對可用Worker監控定時器偶而出現的ERROR日誌資訊內容進行最佳化。

  • second_delay任務支援日誌採集。

1.5.1.1

新功能

支援開啟或關閉Log Service動態生效。

2022年04月19日

問題修複

  • 修複1.5.0.x版本不相容Spring Boot 2.0.3的問題。

  • 修複1.5.0.x版本可能存在的JobSyncService Bean初始化報錯問題。

1.5.0.2

新功能

支援SpringBoot聲明式任務定義。命名空間、應用、任務、警示等都可以通過設定檔聲明,方便管理應用下的任務。檔案聲明支援修改,您可以配置在任何環境一鍵啟動應用。

2022年04月01日

Spring Cloud Alibaba定時任務

可視化MapReduce任務(原並行計算),支援子任務層級列表、日誌、重跑;支援為子任務自訂標籤並且通過標籤搜尋子任務。

企業級分布式批處理方案

1.4.2

新功能

分布式任務調度系統SchedulerX 2.0的Log Service,您不需要修改一行代碼,只需要增加一個Log4j或Logback的配置,即可在控制台看到每次任務調度(包括分布式任務)的業務日誌。

2022年03月07日

如何接入Log Service

控制台可以直接查看任務啟動並執行堆棧,方便排查任務卡住的問題,使用時需要您將用戶端升級到1.4.0及以上版本。

支援ElasticJob開發的執行器對接。

1.3.4

新功能

  • 支援DataWorks任務。

  • 新增schedulerx2-plugin-xxljob,相容Xxl-job介面。

2022年01月06日

2021年

版本

變更類型

功能描述

發布時間

相關文檔

1.3.2

最佳化

最佳化問題:調整預設依賴的log4j2至2.15.0版本。

2021年12月15日

1.3.0.3

新功能

秒層級單機增強:單機秒層級迴圈支援在不用的執行個體間分發切換執行,SpringBoot應用配置參數如下:spring.schedulerx2.enableSecondDelayStandaloneDispatch=true(預設false)。

2021年11月26日

最佳化

用戶端停機下線快速響應。

問題修複

  • 修複“用戶端對接多個應用分組時運行執行個體心跳只上報給指定的調度服務”的問題。

  • 修複“秒層級任務偶發的線程異常中斷和null 指標異常”的問題。

  • 修複“SchedulerX用戶端與Spring Cloud整合時會出現任務運行鎖死逾時”的相容問題。

  • 修複“廣播任務在並發情況下出現執行中斷”的問題。

  • 修複“秒層級任務在執行過程中未能定時重新整理Worker執行個體列表”的問題。

  • 修複“秒層級廣播任務執行停止指令後,掃描線程未結束”的問題。

  • 修複“秒層級廣播任務情境下,大批量Worker按批次發布過程中任務有機率卡住”的問題。

1.2.9.1

問題修複

修複worker與Spring Cloud整合時出現任務運行鎖死逾時。

2021年08月30日

1.2.9

新功能

秒層級單機增強:單機秒層級迴圈支援在不同的執行個體間分發切換執行,配置參數:spring.schedulerx2.enableSecondDelayStandaloneDispatch=true(預設false)。

2021年08月27日

問題修複

修複問題:廣播任務在並發情況下出現中斷訊號,以及worker執行個體列表未更新。

1.2.8.3

問題修複

修複問題:修複秒層級廣播任務執行停止指令後掃描線程未結束。

2021年08月13日

1.2.8.2

問題修複

修複問題:秒層級廣播任務大批量worker按批次發布過程中任務運行有機率卡住。

2021年08月06日

1.2.8

新功能

  • 廣播任務增強:postProcess可以拿到所有機器執行的狀態JobContext.getTaskStatuses()和執行結果JobContext.getTaskResults()

  • 廣播分區模型:廣播任務可以通過JobContext擷取shardingNumsharingId,通過自身機器的index進行資料分散式處理。

  • 分區模型增強:JobContext可以從shardingNum擷取所有分區數量。

2021年06月23日

1.2.7

新功能

新增開關,可以關閉的failover功能。

2021年04月28日

問題修複

  • 修複心跳探活失敗,可能會導致socket泄漏的問題。

  • 修複MapTask Master在子任務較多的情況下,可能會頻繁誤failover的問題。

1.2.5.2

新功能

秒層級任務間隔支援到毫秒層級。

2021年04月08日

最佳化

  • MapReduce模型,root Task固定在master node執行,方便排查問題。

  • 不強依賴log4j2,如果使用者使用的是logback,可以把log4j和log4j2依賴移除。

1.2.4.3

新功能

  • 廣播任務運行中支援進度彙報。

  • 心跳日誌可以通過開關關閉。

2021年01月21日

問題修複

  • 心跳間隔調整為10秒。

  • 修複廣播任務可能卡住嚴重問題。

2020年

版本

變更類型

功能描述

發布時間

相關文檔

1.2.3.1

最佳化

最佳化用戶端負載高會導致任務調度長串連打掛,導致任務無法繼續調度的問題。

2020年12月16日

1.2.2.2

新功能

  • 支援容器內採集容器真實CPU使用率。需要增加配置,以starter為例:spring.schedulerx2.enableCgroupMetrics=true,spring.schedulerx2.cgroupPathPrefix=/sys/fs/cgroup/cpu/(非必填,如果容器裡有"/sys/fs/cgroup/cpu/"這個路徑,可以不用配置,否則修改為真實的cgroup路徑)。

  • 支援標籤。用戶端啟動可以自訂打標籤,以starter為例:spring.schedulerx2.labels=xxx。任務管理中可以指定機器,可以指定任務跑在某個標籤的執行個體上。適用情境灰階、單元化等。

2020年12月10日

最佳化

  • 用戶端心跳線程和akka核心線程獨立出來,保證業務繁忙不會影響心跳探活。

  • 將h2從shade中移除。shade h2可能會導致MySQL驅動載入失敗。

1.2.1.2

新功能

  • 支援共用ContainerPool,用戶端所有任務可以共用同一個線程池,大量任務高並發調度情況下大大提高用戶端效能和穩定性。

  • Shade Scala,解決scala衝突的問題。

  • 公用雲端支援appKey鑒權。

  • MapReduce模型增強,支援配置是否所有子任務成功才執行Reduce方法。

  • 用戶端支援-Dschedulerx.appKey設定appKey

2020年10月20日

最佳化

最佳化用戶端Netty線程池。

問題修複

  • 修複廣播任務可能會卡住的問題。

  • 修複SLS功能的AccessKey ID或AccessKey Secret泄漏的問題。

1.2.0.2

新功能

  • 支援一個應用10萬+任務(只有公用雲端支援)。

  • 新增用戶端日誌開關,預設開啟。

  • OpenAPI建立任務,支援設定狀態。

  • 去除diamond-client、logger.API和log4j依賴。

2020年08月19日

問題修複

  • 修複用戶端斷網演練會和服務端失聯的問題。

  • EDAS應用無法讀取AccessKey Secret。

1.1.4.RELEASE

新功能

  • 支援自建NameSpace。

  • 支援初始化多個SchedulerxWorker。

  • MapReduce模型增強

  • 子任務失敗,也能執行Reduce。

  • JobContext.getTaskStatuses可以判斷每個Task的狀態,Map<Long, TaskStatus>結構體Key是TaskId,Value是Task的狀態。

2020年05月15日

問題修複

  • ProcessResult,result為空白,會導致null 指標。

  • thread-dispatcher-delivery掛起會導致任務卡住。

1.1.2.RELEASE

新功能

shade protobuf and netty from AccessKey IDka,解決接入90%以上JAR包衝突。

2020年02月10日

最佳化

AppKeys不支援多分組。

2019年

版本

變更類型

功能描述

發布時間

相關文檔

1.1.0

新功能

  • 支援多語言版本的分區模型(類似於elastic-job):SchedulerX2.0支援多語言版本的分區模型

  • OpenAPI建立分組,可以返回AppKey。

  • 成功狀態支援重跑,工作流程中的任務執行個體重跑自身及下遊。

2019年12月17日

最佳化

  • Server端效能最佳化,將和用戶端通訊同步改成非同步,並最佳化了akka預設的dispatcher配置。

  • 使用1.1.0版本用戶端,心跳效能最佳化提高3倍。

  • 前端任務管理列表重新設計,可以看到更多資訊。

問題修複

  • 修複分布式拉模型,全域子任務可能不起作用。

  • 修複隔離單元環境,如果沒有配置Domain,可能還是會啟動失敗。

1.0.9

新功能

  • 增加BlockAppStart配置。表示Schedulerx啟動失敗是否block應用程式啟動,預設true

  • 新增查詢工作流程運行狀態介面。介面為GetWorkflowInstanceRequest

  • JobContext上下文新增jobName欄位。這樣使用者可以在運行期間擷取到任務名稱。

2019年11月28日

問題修複

  • 通過Hessian還原序列化BigDecimal為0。

  • 通過Hessian還原序列化LocalDateTime報錯。

  • 修複指定機器功能問題。任務運行超過一定時間子任務會下發到未指定機器上。

  • 用戶端springContext.getBeanAnnotationConfigApplicationContext has not been refreshed yet異常。

  • 修複任務實作類別配置錯誤的情況下會觸發Spring Boot的ServeletWebServer停止的邏輯,導致業務進程繼續運行,但是Web服務被shutdown問題。

  • 修複系統啟動變數user.dir='/',任務會卡住的問題。

  • 用戶端springContext.getBeanAnnotationConfigApplicationContext has been closed already異常。

  • 用戶端產生的workerId存在小機率重複衝突的問題,造成任務觸發到非本應用的機器上。

  • Spring應用不能自訂class loader

  • 秒層級任務廣播執行計數器顯示不對。

  • 秒層級任務,jobContext.getScheduleTime沒有跟著迴圈更新。

1.0.8

新功能

  • 【重要】重構JobProcessor.postProcess介面,增加ProcessResult傳回值,之前用到postProcess介面需要改代碼。

  • 廣播執行增強,BroadcastJobProcessor支援preProcesspostProcesspreProcess會在所有機器執行process之前執行一次,postProcess會在所有機器執行process後執行一次。

  • JobContext.getTaskAttempt可以擷取當前子任務重試次數。

  • 用戶端支援自訂監聽連接埠,例如SchedulerxWorker.setPort

  • Java任務可以實現JobProcessor,不必須繼承JavaProcessor

2019年08月06日

問題修複

  • 修複TaskId=1的子任務不支援子任務自動重試的bug。

  • 分布式任務,根任務失敗,無法看到失敗原因。

  • 並行任務子任務列表不能重試子任務。

1.0.6-compatible

最佳化

相容schedulerx1.0(DTS)介面的相容版本。不支援同時依賴schedulerx-clientschedulerx-worker兩個包,只能依賴schedulerx-worker一個包,即需要把DTS所有任務遷移到SchedulerX 2.0。

2019年07月02日

1.0.6

新功能

  • 新增部分包的shade: aliyun-log, commons-validator, gson, fastjson, guava, commons-collections

  • 通過ProcessResult(false, errorMsg)返回,前端日誌也能看到errorMsg

最佳化

  • 最佳化at-least-once-delivery效能。

  • 高負載情境下,訊息重複發送會造成秒級任務卡住或應用線程被Interrupt。

2019年07月02日

說明

該版本控制台顯示版本號碼為1.0.4與Maven版本號碼不一致,請知曉。

問題修複

  • 廣播任務卡主問題。

  • 秒級任務卡主問題。

  • at-least-once-delivery可能會導致子任務狀態無限重試。

  • logcollector初始化失敗,異常拋出來,啟動失敗。

  • DB清理工作流程工作執行個體,導致工作流程無法恢複調度問題。

  • Spring方式啟動,不支援kill。

1.0.3

新功能

  • MapReduce模型支援返回所有子任務的結果,由Reduce處理。

  • 分布式模型支援拉模型,解決因為單機效能引起的木桶效應,支援動態擴容拉子任務。

  • 拉模型支援全域子任務並發度,可以進行限流。

  • JobContext增加wfInstanceId

  • 用戶端啟動失敗拋出異常,堵塞JVM啟動,儘早發現問題。

  • 用戶端啟動時會列印mvn依賴JAR的版本和路徑,協助排查JAR包衝突。

  • 分布式模型子任務詳情,增加隊列維度,可以看到每台機器緩衝的子任務隊列。

2019年06月06日

問題修複

  • Worker因為server負載高被誤guarantined,可以自動回復,無需重啟用戶端。

  • 分布式模型子任務詳情,運行中可以真實顯示每台機器正在啟動並執行子任務數。

  • Master節點掛了,server會負責清理slave節點的資源,防止記憶體流失。

1.0.0

新功能

  • 支援crontabfixed_rate運算式進行周期性定時調度。

  • 支援工作流程調度,進行流程編排。

  • 支援second_delay運算式進行秒層級調度。

  • 支援Java、Shell、Python、Go任務類型。

  • 支援單機執行、廣播執行、並行計算、記憶體網格、格線運算。

  • 支援Map和MapReduce分布式編程模型。

  • 支援任務執行個體層級和子任務層級的失敗自動重試(預設不重試)。

  • 支援資料時間和重刷資料。

2019年04月30日