You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@activemq.apache.org by "Timothy Bish (JIRA)" <ji...@apache.org> on 2014/07/30 22:18:42 UTC

[jira] [Closed] (AMQ-5297) PooledSession with lots of consumers can fail to start fully

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

Timothy Bish closed AMQ-5297.
-----------------------------

    Resolution: Invalid

Questions should be directed to the users mailing list.  

> 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)