[prev in list] [next in list] [prev in thread] [next in thread] 

List:       activemq-dev
Subject:    [jira] [Created] (AMQ-5297) PooledSession with lots of consumers can fail to start fully
From:       "Sam hendley (JIRA)" <jira () apache ! org>
Date:       2014-07-30 20:06:39
Message-ID: JIRA.12730898.1406750717631.79725.1406750799531 () arcas
[Download RAW message or body]

Sam hendley created AMQ-5297:
--------------------------------

             Summary: PooledSession with lots of consumers can fail to start fully
                 Key: AMQ-5297
                 URL: https://issues.apache.org/jira/browse/AMQ-5297
             Project: ActiveMQ
          Issue Type: Bug
          Components: activemq-pool, JMS client
    Affects Versions: 5.8.0
         Environment: java version "1.7.0_51"
Java(TM) SE Runtime Environment (build 1.7.0_51-b13)
Java HotSpot(TM) 64-Bit Server VM (build 24.51-b03, mixed mode)

            Reporter: Sam hendley


We have a case where we are trying to startup 100s of camel routes and it appears to \
be causing an issue where the consumer is only partially started and the thread is \
stuck waiting for for the consumer to be fully created. The consumer appears to be \
created on the broker side so that it is getting messages enqueued and dispatched, \
just never serviced.

Could this be due to our connection pool being too small? Could we avoid this problem \
with asyncSend?

{quote}
"Camel (AppsJVM) thread #28 - JmsConsumer[response.queue]" - Thread t@318
   java.lang.Thread.State: WAITING
	at sun.misc.Unsafe.park(Native Method)
	- parking to wait for <ee029ee> (a \
java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject)  at \
java.util.concurrent.locks.LockSupport.park(LockSupport.java:186)  at \
java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:2043)
  at java.util.concurrent.ArrayBlockingQueue.take(ArrayBlockingQueue.java:374)
	at org.apache.activemq.transport.FutureResponse.getResult(FutureResponse.java:40)
	at org.apache.activemq.transport.ResponseCorrelator.request(ResponseCorrelator.java:87)
  at org.apache.activemq.ActiveMQConnection.syncSendPacket(ActiveMQConnection.java:1380)
  at org.apache.activemq.ActiveMQSession.syncSendPacket(ActiveMQSession.java:1912)
	at org.apache.activemq.ActiveMQMessageConsumer.<init>(ActiveMQMessageConsumer.java:273)
  at org.apache.activemq.ActiveMQSession.createConsumer(ActiveMQSession.java:1144)
	at org.apache.activemq.ActiveMQSession.createConsumer(ActiveMQSession.java:1088)
	at org.apache.activemq.ActiveMQSession.createConsumer(ActiveMQSession.java:1001)
	at org.apache.activemq.pool.PooledSession.createConsumer(PooledSession.java:311)
	at org.springframework.jms.listener.AbstractPollingMessageListenerContainer.createConsumer(AbstractPollingMessageListenerContainer.java:503)
  at org.springframework.jms.listener.AbstractPollingMessageListenerContainer.createListenerConsumer(AbstractPollingMessageListenerContainer.java:224)
  at org.springframework.jms.listener.DefaultMessageListenerContainer$AsyncMessageListenerInvoker.initResourcesIfNecessary(DefaultMessageListenerContainer.java:1094)
  at org.springframework.jms.listener.DefaultMessageListenerContainer$AsyncMessageListenerInvoker.invokeListener(DefaultMessageListenerContainer.java:1070)
  at org.springframework.jms.listener.DefaultMessageListenerContainer$AsyncMessageListenerInvoker.executeOngoingLoop(DefaultMessageListenerContainer.java:1063)
  at org.springframework.jms.listener.DefaultMessageListenerContainer$AsyncMessageListenerInvoker.run(DefaultMessageListenerContainer.java:960)
  at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
	at java.lang.Thread.run(Thread.java:744)

   Locked ownable synchronizers:
	- locked <4deb7015> (a java.util.concurrent.ThreadPoolExecutor$Worker)
{quote}

{quote}
<bean id="JMSPooledConnectionFactory" \
class="org.apache.activemq.pool.PooledConnectionFactory">

        <property name="maxConnections" value="8" />

        <property name="maximumActiveSessionPerConnection" value="500" />
        <property name="idleTimeout" value="0" />
        <property name="connectionFactory" ref="JMSConnectionFactory" />
    </bean>
{quote}



--
This message was sent by Atlassian JIRA
(v6.2#6252)


[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic