Hi That indicates that a camel component is waiting for a reply that is taking a very long time, or not happening, or a timeout is not being triggered.
You can use JMX and look in blocked exchanges to see a list and where they are in the route, and unblock them also. hawtio also have a page to show that. Also if you are using CXF then you can use it in synchronous=true mode as its async mode may cause this situation (it did that in the past) On Thu, May 4, 2023 at 12:44 AM Shultz, Dmitry <dmitry_shu...@kaltire.com> wrote: > Hi All, > > We are having occasional problems with the some app using Camel 3.14.1 > rest routes and running in TomEE. After a while TomEE/Tomcat https > interface became unresponsive. > Looking at the thread dump I can see a lot of threads in such state: > > "https-jsse-nio-7443-exec-107" - Thread t@504 > java.lang.Thread.State: WAITING > at sun.misc.Unsafe.park(Native Method) > - parking to wait for <78a7fac3> (a > java.util.concurrent.CountDownLatch$Sync) > at > java.util.concurrent.locks.LockSupport.park(LockSupport.java:175) > at > java.util.concurrent.locks.AbstractQueuedSynchronizer.parkAndCheckInterrupt(AbstractQueuedSynchronizer.java:836) > at > java.util.concurrent.locks.AbstractQueuedSynchronizer.doAcquireSharedInterruptibly(AbstractQueuedSynchronizer.java:997) > at > java.util.concurrent.locks.AbstractQueuedSynchronizer.acquireSharedInterruptibly(AbstractQueuedSynchronizer.java:1304) > at > java.util.concurrent.CountDownLatch.await(CountDownLatch.java:231) > at > org.apache.camel.impl.engine.DefaultAsyncProcessorAwaitManager.await(DefaultAsyncProcessorAwaitManager.java:107) > at > org.apache.camel.impl.engine.DefaultAsyncProcessorAwaitManager.process(DefaultAsyncProcessorAwaitManager.java:85) > at > org.apache.camel.impl.engine.SharedCamelInternalProcessor.process(SharedCamelInternalProcessor.java:108) > at > org.apache.camel.support.cache.DefaultProducerCache.send(DefaultProducerCache.java:199) > at > org.apache.camel.impl.engine.DefaultProducerTemplate.send(DefaultProducerTemplate.java:176) > at > org.apache.camel.impl.engine.DefaultProducerTemplate.send(DefaultProducerTemplate.java:172) > at > org.apache.camel.impl.engine.DefaultProducerTemplate.send(DefaultProducerTemplate.java:153) > at > org.apache.camel.impl.engine.DefaultProducerTemplate.sendBody(DefaultProducerTemplate.java:187) > at > org.apache.camel.impl.engine.DefaultProducerTemplate.sendBody(DefaultProducerTemplate.java:195) > at > org.apache.camel.ProducerTemplate$$OwbNormalScopeProxy0.sendBody(org/apache/camel/ProducerTemplate.java) > > Locked ownable synchronizers: > - locked <59e6ab64> (a > java.util.concurrent.ThreadPoolExecutor$Worker) > > this is how ProducerTemplate is produced (CDI): > > @Produces > @ApplicationScoped > @MyProducerTemplate > ProducerTemplate getProducerTemplate() { > return context.createProducerTemplate(); > } > > And this is how it is injected everywhere it is used (single > ApplicationScoped instance): > > @Inject > @MyProducerTemplate > ProducerTemplate producerTemplate; > > Is there anything wrong with re-using single instance? If not, what may be > the problem? > > Thanks, > Dmitry > > > > -- Claus Ibsen ----------------- @davsclaus Camel in Action 2: https://www.manning.com/ibsen2