JBoss 4.0.5.GA
JBoss Messaging 1.0.1
Jboss TS 4.2.2
MS-SQL 2000 w/jtds driver
I'm seeing the same problem. Tenured gen is filling up with
org.jboss.jms.tx.TxState and org.jboss.jms.tx.LocalTx when processing messages
using an EJB3 MDB. I am debugging through the
org.jboss.jms.tx.MessagingXAResource and here is what I'm seeing...
In public void start(Xid xid, int flags) throws XAException A new TxState is
put into the ResourceManager's map of transactions.
In public void end(Xid xid, int flags) throws XAException Another new TxState
is put into the map of transactions b/c of the call to
unsetCurrentTransactionId.
| // Don't unset the xid if it has previously been suspended. The session
could have been
| // recycled
| if (xid.equals(sessionState.getCurrentTxId()))
| {
| sessionState.setCurrentTxId(rm.createLocalTx());
| }
|
which is called no matter what the outcome of the transaction based on this
code...
| public void end(Xid xid, int flags) throws XAException
| {
| if (trace) { log.trace(this + " ending " + xid + ", flags: " +
flags); }
|
| synchronized (this)
| {
| switch (flags)
| {
| case TMSUSPEND :
| unsetCurrentTransactionId(xid);
| rm.suspendTx(xid);
| break;
| case TMFAIL :
| unsetCurrentTransactionId(xid);
| rm.endTx(xid, false);
| break;
| case TMSUCCESS :
| unsetCurrentTransactionId(xid);
| rm.endTx(xid, true);
| break;
| }
| }
| }
|
I'm not by any means an expert in the TX code...but this
unsetCurrentTransactionId seems to be what's causing the problem...the xid is
always equal to the currentTxId so a new TxState is added to the
ResourceManager's map of transactions. Is this correct? Why? This results in
two TxState objects being put into the transaction map for each
transaction...and only one gets removed when commit is called...causing the
heap to grow.
In public void commit(Xid xid, boolean onePhase) throws XAException the first
TxState is removed from the map of transactions.
Is there something I've done wrong to cause this behavior? TransactionAttribute
settings? Some setting in JBoss Messaging? Of is this a genuine bug?
View the original post :
http://www.jboss.com/index.html?module=bb&op=viewtopic&p=4006965#4006965
Reply to the post :
http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&p=4006965
_______________________________________________
jboss-user mailing list
[email protected]
https://lists.jboss.org/mailman/listinfo/jboss-user