Hi,
I am sometimes getting a ResourceException when I run the tests
as shown below.
javax.resource.ResourceException: No ManagedConnections available
within configured blocking timeout ( 5000 [ms] ) for pool
[EMAIL PROTECTED]
Once this error comes all the remaining tests fail with the same
error. I am wondering if this is because connections are not properly
released from the pool after use
I was debugging trying to figure why this occurs and found that the
release() method on the EndpointHandler class is never getting called.
Thus ejbRemove methods are never called(or so i think :)).
The stack trace is
ERROR - The bean instance threw a system
exception:org.apache.xbean.recipe.ConstructionException: Error setting
property: public void
org.apache.openejb.test.mdb.ContextLookupMdbBean.setMessageDrivenContext(javax.ejb.MessageDrivenContext)
throws javax.ejb.EJBException
org.apache.xbean.recipe.ConstructionException: Error setting property:
public void
org.apache.openejb.test.mdb.ContextLookupMdbBean.setMessageDrivenContext(javax.ejb.MessageDrivenContext)
throws javax.ejb.EJBException
at
org.apache.xbean.recipe.ObjectRecipe.setProperty(ObjectRecipe.java:308)
at
org.apache.xbean.recipe.ObjectRecipe.setProperties(ObjectRecipe.java:251)
at org.apache.xbean.recipe.ObjectRecipe.create(ObjectRecipe.java:198)
at org.apache.xbean.recipe.AbstractRecipe.create(AbstractRecipe.java:28)
at
org.apache.openejb.core.mdb.MdbInstanceFactory.constructBean(MdbInstanceFactory.java:217)
at
org.apache.openejb.core.mdb.MdbInstanceFactory.createInstance(MdbInstanceFactory.java:113)
at
org.apache.openejb.core.mdb.EndpointHandler.<init>(EndpointHandler.java:78)
at
org.apache.openejb.core.mdb.EndpointFactory.createEndpoint(EndpointFactory.java:57)
at
org.apache.activemq.ra.ServerSessionPoolImpl.createEndpoint(ServerSessionPoolImpl.java:90)
at
org.apache.activemq.ra.ServerSessionPoolImpl.createServerSessionImpl(ServerSessionPoolImpl.java:76)
at
org.apache.activemq.ra.ServerSessionPoolImpl.getServerSession(ServerSessionPoolImpl.java:116)
at
org.apache.activemq.ActiveMQConnectionConsumer.dispatch(ActiveMQConnectionConsumer.java:136)
at
org.apache.activemq.ActiveMQConnection.onCommand(ActiveMQConnection.java:1479)
at
org.apache.activemq.transport.ResponseCorrelator.onCommand(ResponseCorrelator.java:95)
at
org.apache.activemq.transport.TransportFilter.onCommand(TransportFilter.java:65)
at
org.apache.activemq.transport.vm.VMTransport.syncOneWay(VMTransport.java:96)
at
org.apache.activemq.transport.vm.VMTransport.oneway(VMTransport.java:83)
at
org.apache.activemq.transport.MutexTransport.oneway(MutexTransport.java:47)
at
org.apache.activemq.transport.ResponseCorrelator.oneway(ResponseCorrelator.java:60)
at
org.apache.activemq.broker.TransportConnection.dispatch(TransportConnection.java:1138)
at
org.apache.activemq.broker.TransportConnection.processDispatch(TransportConnection.java:805)
at
org.apache.activemq.broker.TransportConnection.dispatchSync(TransportConnection.java:770)
at
org.apache.activemq.broker.region.PrefetchSubscription.dispatch(PrefetchSubscription.java:404)
at
org.apache.activemq.broker.region.QueueSubscription.dispatch(QueueSubscription.java:172)
at
org.apache.activemq.broker.region.PrefetchSubscription.add(PrefetchSubscription.java:129)
at
org.apache.activemq.broker.region.Queue.addSubscription(Queue.java:191)
at
org.apache.activemq.broker.region.AbstractRegion.addConsumer(AbstractRegion.java:233)
at
org.apache.activemq.broker.region.RegionBroker.addConsumer(RegionBroker.java:337)
at
org.apache.activemq.broker.BrokerFilter.addConsumer(BrokerFilter.java:86)
at
org.apache.activemq.advisory.AdvisoryBroker.addConsumer(AdvisoryBroker.java:78)
at
org.apache.activemq.broker.BrokerFilter.addConsumer(BrokerFilter.java:86)
at
org.apache.activemq.broker.MutableBrokerFilter.addConsumer(MutableBrokerFilter.java:96)
at
org.apache.activemq.broker.TransportConnection.processAddConsumer(TransportConnection.java:586)
at org.apache.activemq.command.ConsumerInfo.visit(ConsumerInfo.java:313)
at
org.apache.activemq.broker.TransportConnection.service(TransportConnection.java:294)
at
org.apache.activemq.broker.TransportConnection$1.onCommand(TransportConnection.java:185)
at
org.apache.activemq.transport.ResponseCorrelator.onCommand(ResponseCorrelator.java:95)
at
org.apache.activemq.transport.TransportFilter.onCommand(TransportFilter.java:65)
at
org.apache.activemq.transport.vm.VMTransport.iterate(VMTransport.java:201)
at
org.apache.activemq.thread.PooledTaskRunner.runTask(PooledTaskRunner.java:117)
at
org.apache.activemq.thread.PooledTaskRunner.access$100(PooledTaskRunner.java:26)
at
org.apache.activemq.thread.PooledTaskRunner$1.run(PooledTaskRunner.java:44)
at
edu.emory.mathcs.backport.java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:650)
at
edu.emory.mathcs.backport.java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:675)
at java.lang.Thread.run(Thread.java:595)
Caused by: javax.ejb.EJBException: javax.jms.JMSException: No
ManagedConnections available within configured blocking timeout ( 5000
[ms] ) for pool
[EMAIL PROTECTED]
at
org.apache.openejb.test.mdb.ContextLookupMdbBean.setMessageDrivenContext(ContextLookupMdbBean.java:68)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:585)
at
org.apache.xbean.recipe.ObjectRecipe$MethodMember.setValue(ObjectRecipe.java:830)
at
org.apache.xbean.recipe.ObjectRecipe.setProperty(ObjectRecipe.java:299)
... 44 more
Caused by: javax.jms.JMSException: No ManagedConnections available
within configured blocking timeout ( 5000 [ms] ) for pool
[EMAIL PROTECTED]
at
org.apache.activemq.ra.ActiveMQConnectionFactory.createConnection(ActiveMQConnectionFactory.java:100)
at
org.apache.activemq.ra.ActiveMQConnectionFactory.createConnection(ActiveMQConnectionFactory.java:66)
at org.apache.openejb.test.mdb.MdbInvoker.<init>(MdbInvoker.java:42)
at
org.apache.openejb.test.mdb.ContextLookupMdbBean.setMessageDrivenContext(ContextLookupMdbBean.java:66)
... 50 more
Some insights from the MDB guy will be appreciated :)
Regards
Manu