All Products
Search
Document Center

Microservices Engine:Compatibility with managed XXL-JOB jobs

Last Updated:Mar 11, 2026

This topic describes how to manage XXL-JOB jobs by using XXL-JOB or SchedulerX 2.0 provided by Task Scheduling of Microservices Engine (MSE). We strongly recommend that you use the highly compatible XXL-JOB to manage XXL-JOB jobs.

The public preview of the managed XXL-JOB service has ended. XXL-JOB is built on top of Alibaba Cloud SchedulerX 2.0 and is compatible with the network layer protocol of XXL-JOB. It provides a solution to manage an existing XXL-JOB client without requiring you to modify business code.

Self-managed XXL-JOB requires at least two servers and a database, plus ongoing effort to maintain availability, monitor execution, and scale the scheduler. SchedulerX 2.0 lets you migrate existing jobs without changing business code.

Why migrate

DimensionSelf-managed XXL-JOBSchedulerX 2.0
InfrastructureMinimum 2 servers + 1 databaseFully managed -- no servers to maintain
SDK upgradesVersion changes may break compatibility, requiring code refactoringCompatible with @XxlJob and JobHandler across versions -- no code changes needed
ScalabilitySingle-node scheduling due to distributed database locks. Latency increases beyond 10,000 minute-level jobsDistributed architecture that assigns jobs to individual servers. Supports millions of concurrent jobs
Second-level schedulingHigh latency under loadLow-latency execution with a dedicated architecture optimized for minimal resource consumption
MonitoringSelf-builtBuilt-in dashboards, execution history, operational logs, and running stack views

How it works

Add schedulerx2-plugin-xxljob to your POM file to support compatibility with SDK interfaces of XXL-JOB. You can directly manage your XXL-JOB client on SchedulerX 2.0 without the need to modify a line of code. SchedulerX 2.0 supports the @XxlJob annotation and JobHandler class.

Unlike open-source XXL-JOB, which relies on distributed database locks and runs all scheduling on a single node, SchedulerX 2.0 distributes jobs across individual servers. This eliminates lock contention and enables horizontal scaling.

Advanced features

After migration, SchedulerX 2.0 provides capabilities beyond open-source XXL-JOB.

One-time jobs

Schedule a job to run once at a specific time. After execution, SchedulerX 2.0 deletes the job automatically. Use cases include sending scheduled notifications and closing orders at a deadline.

Job orchestration with DAGs

Build job dependencies visually by dragging and dropping nodes on a Directed Acyclic Graph (DAG) canvas. The DAG view displays the status of each job and helps pinpoint the root cause when a downstream job fails.

Job orchestration DAG visualization

Throttling and priority queues

SchedulerX 2.0 is often used to run overnight jobs for generating offline reports. For example, a large number of report generation jobs start at 01:00 or 02:00. Limit the number of simultaneous jobs per application to prevent overload. When the limit is reached, additional jobs queue automatically.

Assign priorities to control execution order. If you want to make sure that KPI reports are completed by 09:00, you can give KPI report generation a higher priority so it completes before other overnight batch jobs. Enable preemptible queues in the SchedulerX console to let higher-priority jobs preempt lower-priority ones.

Throttling and priority queue configuration

Resource isolation

Isolate resources by namespace or application. SchedulerX 2.0 supports permission management for multitenancy scenarios, so different teams or environments share the platform without interfering with each other.

Commercialized alerting and O&M

Alerting

SchedulerX 2.0 sends alerts for job failures, timeouts, and unavailable workers. Supported channels: email, DingTalk, text messages, and phone calls. Each alert includes failure details in the alert notifications to speed up root-cause diagnosis.

Operations and maintenance

The SchedulerX console supports the following operational tasks:

OperationDescription
Rerun jobsRe-execute failed or completed jobs
Refresh job dataUpdate job metadata from the executor
Mark as completedManually mark a job execution as completed
View thread stacksInspect the running stack of a job for debugging
Terminate jobsStop a running job execution
Route to specific workersDirect a job to run on a designated worker node
Operations and maintenance interface

What's next