全部產品
Search
文件中心

SchedulerX:Java SDK

更新時間:May 23, 2026

本文記錄 SchedulerX Java SDK 各版本的功能變更,包括新增功能、功能最佳化和問題修複。

2026 年

版本

變更類型

功能描述

發布時間

相關文檔

1.13.5

新功能

second_delay 任務支援優雅下線。

2026 年 03 月 20 日

新功能

指令碼任務支援工作流程上下遊資料傳遞。

1.13.4

最佳化

最佳化 K8s 應用模式下 CPU 採集相容 cgroup v2 模式。

2026 年 02 月 13 日

1.13.3

最佳化

最佳化 Spring 任務相容 Spring 7.X 版本。

2026 年 01 月 15 日

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 自訂配置覆蓋,且支援日誌輸出至自有Log Service(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 akka,解決接入 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 日