
The Payara Monthly Catch -September 2025
Welcome aboard the September issue of The Monthly Catch! With summer holidays wrapping up, the Java world is back […]
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:
Welcome aboard the September issue of The Monthly Catch! With summer holidays wrapping up, the Java world is back […]
Payara is proud to announce that we have been recognised with three Comparably Awards in 2025, a reflection of our […]
We’re excited to announce that Payara Platform Community 7 Beta application server is now fully certified as Jakarta EE 11 […]