Deprecated on Cloud Service

Sling Scheduler jobs on AEM as a Cloud Service

A Runnable registered with scheduler.expression runs on each instance that has it, and Cloud Service runs several. Adobe's migration tooling includes a scheduler pattern that converts these to Sling Jobs.

Affected packages and APIs

  • org.apache.sling.commons.scheduler

What to use instead

Scheduled Sling Jobs created through JobManager.createJob(topic).schedule(), processed by a JobConsumer.

How to fix it

  1. List every component with scheduler.expression or scheduler.period.
  2. Decide whether it must run once per environment or once per instance (cache warmers may need per-instance).
  3. Register a scheduled job on activation and handle it in a JobConsumer.

How we detect it

  • Readiness scan rule sling-scheduler: Sling Scheduler jobs.

Can agents fix it?

Partial. Agents convert the code; humans confirm the run-once semantics.

Source: Adobe Experience League. Checked 19 October 2026.