CDI-native API
Inject JobSchedulerService like any other bean and hand it a method reference. Ratchet persists it, claims it for one node at a time, retries on failure, and fires lifecycle events you can observe.
Persistent Java background jobs
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
Use cases
Documentation paths