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#...
Reply to the post :
http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&a...