[jboss-user] [JBoss Messaging] - Re: LocalTx, ClientTransaction leak?
ydzsidemiik
do-not-reply at jboss.com
Tue Jan 8 09:49:41 EST 2008
I've studied the GC root paths for some of these objects, they all look like this:
| org.jboss.jms.tx.ClientTransaction
| <- value of EDU.oswego.cs.dl.util.concurrent.ConcurrentHashMap$Entry
| <- [287] of EDU.oswego.cs.dl.util.concurrent.ConcurrentHashMap$Entry[1025]
| <- table of EDU.oswego.cs.dl.util.concurrent.ConcurrentHashMap
| <- transactions of org.jboss.jms.tx.ResourceManager
| <- resourceManager of org.jboss.jms.client.state.ConnectionState
| <- parent of org.jboss.jms.client.state.SessionState
| <- parent of org.jboss.jms.client.state.ConsumerState
| <- state of org.jboss.jms.client.delegate.ClientConsumerDelegate [Stack Local]
|
Where the stack local is reported to be on the stack of 'Connection Consumer for dest JBossQueue[...]', which is a thread feeding an MDB.
I've collected allocation traces for some of these objects as well, and they all look like this:
| org.jboss.resource.connectionmanager.xa.JcaXAResourceWrapper.end(Xid, int)
| com.arjuna.ats.internal.jta.transaction.arjunacore.TransactionImple.delistResource(XAResource, int)
| org.jboss.resource.adapter.jms.JmsSession.close()
| ... earlier frames vary ...
|
It's strange that the traces cut off there since (looking at the source), no allocations occur in that function. However, I tried to figure out where the trace went from there and my guess is something like MessagingXAResource.end -> MessagingXAResource.unsetCurrentTransactionId -> ResourceManager.createLocalTx, which seems to be a plausible source of these allocations.
I don't know where to go from here. Please help :(
View the original post : http://www.jboss.com/index.html?module=bb&op=viewtopic&p=4117935#4117935
Reply to the post : http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&p=4117935
More information about the jboss-user
mailing list