Async / Await asynchronous programming model for Java versions 1.8 - 23; similar to the functionality available in C# 5. The implementation is based on continuations for Java (see my other projects).
Update dependencies to support Java 23
@async
method (everything besides private
works ok now)Hotfix for evicted classLoader issue in build tools (Maven/Gradle)
Fix error with accessibility of the inherited fields / methods in generated classes (fix for the issue Illegal Access on protected variables from inherited classes)
Critical fix for wrong test classpath in Maven plugin
The project was refactored to use the latest versions of the Tascalate ASMX, Tascalate Instrument and Tascalate JavaFlow libraries. Certain reusable code of the Tascalate Async/Await itself was extracted to the aforementioned libraries, so now both Tascalate Async/Await and Tascalate JavaFlow shares same reusable code.
Also the issue Error at process-classes phase was fixed - now there is no error on processing test classes with the Maven plugin provided.
This release adds full support for Java versions 9 - 17. Additionally, new single-shot continuations are used instead of multi-shot ones that significantly improves performance of capturing/resuming continuations.
This is the initial release with full support for the asynchronous methods (with single pending value result), asynchronous generator methods (multiple on-demand asynchronous values) and related stuff (like Scheduler / SchedulerResolver).