[ 
https://issues.apache.org/jira/browse/CAMEL-20199?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Nicolas Filotto updated CAMEL-20199:
------------------------------------
    Description: 
For full support of Virtual Threads, several sub-tasks need to be done:

* Avoid Lengthy and Frequent Pinning by replacing synchronized blocks with 
ReentrantLocks (use the option {{-Djdk.tracePinnedThreads=ful}} to print stack 
traces when a thread blocks while pinned) 
* Don't Cache Expensive Reusable Objects in Thread-Local Variables by avoiding 
thread locals when possible since when using Virtual Threads, the objects will 
never be reused so if the thread-local variables are never reset, it will end 
up with an OOME.
* Use Semaphores to Limit Concurrency instead of relying on the size of the 
thread pool when applicable
* Allow to expose {{ThreadPerTaskExecutor}} through JMX indeed so far it is 
limited to {{ThreadPoolExecutor}}

References https://docs.oracle.com/en/java/javase/21/core/virtual-threads.html

  was:
For a full support of Virtual Threads, several sub-tasks need to be done:

* Avoid Lengthy and Frequent Pinning by replacing synchronized blocks with 
ReentrantLocks (use the option {{-Djdk.tracePinnedThreads=ful}} to print stack 
traces when thread block while pinned) 
* Don't Cache Expensive Reusable Objects in Thread-Local Variables by avoiding 
thread locals when possible since when using Virtual Threads, the objects will 
never be reused so if the thread-local variables are never reset, it will end 
up with an OOME.
* Use Semaphores to Limit Concurrency instead of relying on the size of the 
thread pool when applicable
* Allow to expose {{ThreadPerTaskExecutor}} through JMX indeed so far it is 
limited to {{ThreadPoolExecutor}}

References https://docs.oracle.com/en/java/javase/21/core/virtual-threads.html


> Complete support of Virtual Threads
> -----------------------------------
>
>                 Key: CAMEL-20199
>                 URL: https://issues.apache.org/jira/browse/CAMEL-20199
>             Project: Camel
>          Issue Type: Improvement
>          Components: came-core
>            Reporter: Nicolas Filotto
>            Priority: Major
>
> For full support of Virtual Threads, several sub-tasks need to be done:
> * Avoid Lengthy and Frequent Pinning by replacing synchronized blocks with 
> ReentrantLocks (use the option {{-Djdk.tracePinnedThreads=ful}} to print 
> stack traces when a thread blocks while pinned) 
> * Don't Cache Expensive Reusable Objects in Thread-Local Variables by 
> avoiding thread locals when possible since when using Virtual Threads, the 
> objects will never be reused so if the thread-local variables are never 
> reset, it will end up with an OOME.
> * Use Semaphores to Limit Concurrency instead of relying on the size of the 
> thread pool when applicable
> * Allow to expose {{ThreadPerTaskExecutor}} through JMX indeed so far it is 
> limited to {{ThreadPoolExecutor}}
> References https://docs.oracle.com/en/java/javase/21/core/virtual-threads.html



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

Reply via email to