Skip to content

Persistent Java background jobs

RatchetInject one service. Submit a method reference.

Persistent background jobs, retries, and workflows for Jakarta EE, Quarkus, Spring Boot, and Micronaut.Persistent Java background jobs. Jakarta EE, Quarkus, Spring Boot, and Micronaut.

@Inject
JobSchedulerService scheduler;

scheduler
    .enqueue(() -> ship(orderId))
    .withMaxRetries(3)
    .submit();
@Inject
JobSchedulerService scheduler;

public void placeOrder(UUID orderId) {
    scheduler.enqueue(() -> orders.process(orderId))
        .withMaxRetries(3)
        .withBackoff(
            BackoffPolicy.EXPONENTIAL,
            Duration.ofSeconds(2))
        .withTags("orders", "fulfillment")
        .submit();
}

Standards-based and conformance-tested

WildFly EE 10WildFly EE 11Open Liberty EE 10Open Liberty EE 11Payara EE 10Payara EE 11GlassFish EE 11MySQLPostgreSQLOracleSQL ServerMongoDB

  • 35 verified combinations7 runtimes × 5 databases
  • Three TCK tiersStore · API · Jakarta Runtime
  • Apache 2.0no paid tier
  • Java 17+Jakarta EE 10 / 11
  • Quarkus verifiedJVM + native image, 5 databases
  • Spring BootBoot 3.5 / 4.1 · Java 17 / 21 · JVM
  • MicronautMicronaut 4.10 / 5 · Java 17 / 25 · JVM + native image
See the conformance matrix →