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



Reply via email to