Hello All Geronimo Users and Developers, I am trying to build a MDB based recv. application that will process messages delivered by AMQ RA.
ENVIRONMENT Windows XP JDK 1.6.0_01 ActiveMQ 4.1.1 and the the RA provided by the dist. Geronimo1.1.1 MySQL 5x I have set the "maxSessions" to 29 and "maxMessagesPerSession" to 900 on the ActivationSpec. for the MDB. These properties are made available by AMQ for performance tuning. MaxSession corresponds to the number of AMQ ServerSession's or MessageEndpoint (listeners) i believe and "maxMessagesPerSession" is the number of messages kept in RAM. Scenario: I send a bunch of messages while the EAR is not running. After the messages have been sent (say 1000 messages) I start the EAR application. The EAR application seems to hang and or deadlock after processing 29 messages. The JEECA's connector Thread Pool is configured with a size of 30 threads and the property "waitWhenBlocked" is set to "true". This WorkManager thread pool is provided by Geronimo server. After looking at the threads from JConsole i saw following stack trace(s) for Connector Threads which are stuck. The first thread from connector thread pool had following stack trace. Name: ConnectorThreadPool 0 Stack trace: java.lang.Object.wait(Native Method) java.lang.Object.wait(Object.java:485) edu.emory.mathcs.backport.java.util.concurrent.locks.CondVar.await(CondVar.java:75) edu.emory.mathcs.backport.java.util.concurrent.ArrayBlockingQueue.take(ArrayBlockingQueue.java:318) org.apache.activemq.transport.FutureResponse.getResult(FutureResponse.java:42) org.apache.activemq.transport.ResponseCorrelator.request(ResponseCorrelator.java:75) org.apache.activemq.ActiveMQConnection.syncSendPacket(ActiveMQConnection.java:1175) org.apache.activemq.ActiveMQConnectionConsumer.<init>(ActiveMQConnectionConsumer.java:86) org.apache.activemq.ActiveMQConnection.createConnectionConsumer(ActiveMQConnection.java:1085) org.apache.activemq.ra.ActiveMQEndpointWorker$1.run(ActiveMQEndpointWorker.java:164) - locked [EMAIL PROTECTED] org.apache.geronimo.connector.work.WorkerContext.run(WorkerContext.java:291) org.apache.geronimo.pool.ThreadPool$1.run(ThreadPool.java:172) org.apache.geronimo.pool.ThreadPool$ContextClassLoaderRunnable.run(ThreadPool.java:289) EDU.oswego.cs.dl.util.concurrent.PooledExecutor$Worker.run(Unknown Source) java.lang.Thread.run(Thread.java:619) All of the rest 29 threads from the connector thread pool have the same stack trace as below. Name: ConnectorThreadPool 29 State: WAITING on [EMAIL PROTECTED] Total blocked: 156 Total waited: 1 Stack trace: java.lang.Object.wait(Native Method) java.lang.Object.wait(Object.java:485) edu.emory.mathcs.backport.java.util.concurrent.locks.CondVar.await(CondVar.java:75) edu.emory.mathcs.backport.java.util.concurrent.ArrayBlockingQueue.take(ArrayBlockingQueue.java:318) org.apache.activemq.transport.FutureResponse.getResult(FutureResponse.java:42) org.apache.activemq.transport.ResponseCorrelator.request(ResponseCorrelator.java:75) org.apache.activemq.ActiveMQConnection.syncSendPacket(ActiveMQConnection.java:1175) org.apache.activemq.TransactionContext.setXid(TransactionContext.java:578) org.apache.activemq.TransactionContext.end(TransactionContext.java:329) org.apache.activemq.ra.LocalAndXATransaction.end(LocalAndXATransaction.java:90) org.apache.geronimo.transaction.manager.WrapperNamedXAResource.end(WrapperNamedXAResource.java:51) org.apache.geronimo.transaction.manager.TransactionImpl.delistResource(TransactionImpl.java:209) - locked [EMAIL PROTECTED] org.apache.geronimo.transaction.context.InheritableTransactionContext.delistResource(InheritableTransactionContext.java:99) org.openejb.mdb.EndpointHandler.teardownDelivery(EndpointHandler.java:360) org.openejb.mdb.EndpointHandler.afterDelivery(EndpointHandler.java:256) org.openejb.mdb.EndpointProxy.afterDelivery(EndpointProxy.java:72) org.apache.activemq.ra.MessageEndpointProxy$MessageEndpointAlive.afterDelivery(MessageEndpointProxy.java:126) org.apache.activemq.ra.MessageEndpointProxy.afterDelivery(MessageEndpointProxy.java:65) org.apache.activemq.ra.ServerSessionImpl.afterDelivery(ServerSessionImpl.java:216) org.apache.activemq.ActiveMQSession.run(ActiveMQSession.java:751) org.apache.activemq.ra.ServerSessionImpl.run(ServerSessionImpl.java:165) org.apache.geronimo.connector.work.WorkerContext.run(WorkerContext.java:291) org.apache.geronimo.pool.ThreadPool$1.run(ThreadPool.java:172) org.apache.geronimo.pool.ThreadPool$ContextClassLoaderRunnable.run(ThreadPool.java:289) EDU.oswego.cs.dl.util.concurrent.PooledExecutor$Worker.run(Unknown Source) java.lang.Thread.run(Thread.java:619) Any idea whats causing the problem? Any help is appreciated. Thanks, Vineet -- View this message in context: http://www.nabble.com/Problems-with-AMQ-RA-under-Geronimo-MDB-container-tf3954028s134.html#a11218765 Sent from the Apache Geronimo - Users mailing list archive at Nabble.com.