5 minutes
The Payara Monthly Catch – January 2026
Published a little later than usual due to a busy conference season, this edition looks back at the key […]
The upcoming release of Jakarta EE 11 is expected to feature a number of updated specifications. One of the key updates expected in this release is to Jakarta Concurrency, which will be advancing to version 3.1. This update is set to bring a host of new features and improvements aimed at making concurrent programming in Jakarta EE even more powerful and flexible.
Jakarta Concurrency 3.1 introduces the @Schedule annotation for scheduling the automatic execution of asynchronous methods. The annotation features support for both cron expressions and literal definitions of the execution time based on parameters.
With support for Java 9 Flow and Reactive Streams, you can now leverage the power of asynchronous, reactive data processing in your Jakarta EE applications. This integration opens up new possibilities for building responsive and efficient systems.
The new spec introduces support for Dependency Injection (DI) by making ManagedExecutorService and ContextService available as injectable CDI beans. This simplifies resource management and promotes cleaner, more testable code. You can now do @Inject on those resources without any fanfare.
One of the most anticipated features in Jakarta Concurrency 3.1 is the support for virtual threads, particularly when running on Java SE 21. In this release, virtual threads can be requested in place of platform threads within the @ManagedThreadFactoryDefinition, @ManagedExecutorDefinition, and @ManagedScheduledExecutorDefinition annotations through the virtual boolean parameter.
This feature significantly enhances the concurrency model in Jakarta EE. However, it’s important to note that there are technical considerations regarding whether the executor can always create virtual threads as requested, depending on the environment and the specific use case. We encourage you to review the JavaDoc for detailed guidance on implementing virtual threads within your applications.
For those interested in exploring the potential of virtual threads further, be sure to check out our in-depth blog post by our resident concurrency expert, where we dive deep into the implications and use cases of virtual threads in a managed runtime environment like Jakarta EE.
In addition to these highlights, this release also comes with several improvements, bug fixes and enhancements. As part of the upcoming Jakarta EE 11 release, this update will play a critical role in modernizing enterprise Java applications and making them more robust and scalable.
Jakarta Concurrency 3.1 is expected to be released with Jakarta EE 11 later this year, 2024. In the meantime, you can take it for a spin on Payara Server 7 alpha 1. Join the project discussions on GitHub and the mailing list to stay updated on the latest developments as we approach the final release. Happy Coding!
Share:
5 minutes
Published a little later than usual due to a busy conference season, this edition looks back at the key […]
4 minutes
Spring Framework 7 and Spring Boot 4 officially arrived, marking a key milestone for the Java ecosystem. From improved startup performance and modularization to native-image […]
3 minutes
As we begin 2026, we’re pleased to announce new releases across all Payara Platform editions this January: Payara Platform […]