I am writing a new release of my Spring CQRS Module(link1, link2), including a parallel execution feature.
However I am encountering several issues with the Java 8 promises aka CompletableFutures.
My issues are :
- I am using a dedicated ForkNodePool but some promises are stilled created outside my pool
- Some threads are slow to die (WAITING state is too long)
- Completable.allOf is creating promises in the common ForkNodePool
- I had an exceeded waiting thread exception
Here is two links that are helping me a lot to solve these problems :
These two articles are well documented and explain into the details how Java/Threads/Java/JVM/Promises and parallel streams works.
Please follow and like us: