I'm seeing a case where JMS appears to be trying to persist my msg even though it isn't a durable subscription and I have no durable clients.
I see the following jboss stack trace (any hints would be appreciated):
2004/10/13 10:37:44.585 WARN NestedThrowable$Util.checkNested() : Duplicate throwable nesting of same base type: class org.jboss.mq.SpyJMSException is assignable from: class org.jboss.mq.SpyJMSException 2004/10/13 10:37:44.586 ERROR StdServerSession.onMessage() : failed to commit/rollback
org.jboss.mq.SpyXAException: - nested throwable: (org.jboss.mq.SpyJMSException: Cannot process a transaction; - nested throwable: (org.jboss.mq.SpyJMSException: Could not crate tx: 139; - nested throwable: (org.jboss.util.NestedSQLException: No ManagedConnections available within configured blocking timeout ( 5000 [ms] ); - nested throwable: (javax.resource.ResourceException: No ManagedConnections available within configured blocking timeout ( 5000 [ms] )))))
at org.jboss.mq.SpyXAResource.commit(SpyXAResource.java:105)
at org.jboss.jms.asf.StdServerSession.onMessage(StdServerSession.java:307)
at org.jboss.mq.SpyMessageConsumer.sessionConsumerProcessMessage(SpyMessageConsumer.java:633)
at org.jboss.mq.SpyMessageConsumer.addMessage(SpyMessageConsumer.java:433)
at org.jboss.mq.SpySession.run(SpySession.java:298)
at org.jboss.jms.asf.StdServerSession.run(StdServerSession.java:180)
at EDU.oswego.cs.dl.util.concurrent.PooledExecutor$Worker.run(PooledExecutor.java:732)
at java.lang.Thread.run(Thread.java:534)
Caused by: org.jboss.mq.SpyJMSException: Cannot process a transaction; - nested throwable: (org.jboss.mq.SpyJMSException: Could not crate tx: 139; - nested throwable: (org.jboss.util.NestedSQLException: No ManagedConnections available within configured blocking timeout ( 5000 [ms] ); - nested throwable: (javax.resource.ResourceException: No ManagedConnections available within configured blocking timeout ( 5000 [ms] ))))
There is a performance fix in jboss-3.2.6 for this, but that is not your problem.
Your problem is that you are running managed db connections. See the JCA FAQ.