[jboss-cvs] JBossAS SVN: r64570 - in branches/Branch_4_2/messaging/src/main/org/jboss/mq: sm/jdbc and 1 other directory.
jboss-cvs-commits at lists.jboss.org
jboss-cvs-commits at lists.jboss.org
Tue Aug 14 09:31:21 EDT 2007
Author: adrian at jboss.org
Date: 2007-08-14 09:31:20 -0400 (Tue, 14 Aug 2007)
New Revision: 64570
Modified:
branches/Branch_4_2/messaging/src/main/org/jboss/mq/pm/jdbc2/PersistenceManager.java
branches/Branch_4_2/messaging/src/main/org/jboss/mq/sm/jdbc/JDBCStateManager.java
Log:
[JBAS-4607] - Don't silently rollback when there is a tranasction timeout
Modified: branches/Branch_4_2/messaging/src/main/org/jboss/mq/pm/jdbc2/PersistenceManager.java
===================================================================
--- branches/Branch_4_2/messaging/src/main/org/jboss/mq/pm/jdbc2/PersistenceManager.java 2007-08-14 10:12:31 UTC (rev 64569)
+++ branches/Branch_4_2/messaging/src/main/org/jboss/mq/pm/jdbc2/PersistenceManager.java 2007-08-14 13:31:20 UTC (rev 64570)
@@ -45,7 +45,6 @@
import javax.naming.InitialContext;
import javax.naming.NamingException;
import javax.sql.DataSource;
-import javax.transaction.Status;
import javax.transaction.Transaction;
import javax.transaction.TransactionManager;
import javax.transaction.xa.Xid;
@@ -181,6 +180,7 @@
*/
protected class TransactionManagerStrategy
{
+ boolean rollback = false;
Transaction threadTx;
@@ -213,21 +213,14 @@
void setRollbackOnly() throws JMSException
{
- try
- {
- tm.setRollbackOnly();
- }
- catch (Exception e)
- {
- throw new SpyJMSException("Could not start a mark the transaction for rollback .", e);
- }
+ rollback = true;
}
void endTX() throws JMSException
{
try
{
- if (tm.getStatus() == Status.STATUS_MARKED_ROLLBACK)
+ if (rollback)
{
tm.rollback();
}
Modified: branches/Branch_4_2/messaging/src/main/org/jboss/mq/sm/jdbc/JDBCStateManager.java
===================================================================
--- branches/Branch_4_2/messaging/src/main/org/jboss/mq/sm/jdbc/JDBCStateManager.java 2007-08-14 10:12:31 UTC (rev 64569)
+++ branches/Branch_4_2/messaging/src/main/org/jboss/mq/sm/jdbc/JDBCStateManager.java 2007-08-14 13:31:20 UTC (rev 64570)
@@ -43,7 +43,6 @@
import javax.management.ObjectName;
import javax.naming.InitialContext;
import javax.sql.DataSource;
-import javax.transaction.Status;
import javax.transaction.Transaction;
import javax.transaction.TransactionManager;
@@ -496,6 +495,8 @@
Transaction threadTx;
+ boolean rollback = false;
+
Connection connection;
HashSet statements = new HashSet();
@@ -561,14 +562,7 @@
void setRollbackOnly() throws JMSException
{
- try
- {
- tm.setRollbackOnly();
- }
- catch (Exception e)
- {
- throw new SpyJMSException("Could not mark the transaction for rollback.", e);
- }
+ rollback = true;
}
void addResultSet(ResultSet rs)
@@ -624,7 +618,7 @@
try
{
- if (tm.getStatus() == Status.STATUS_MARKED_ROLLBACK)
+ if (rollback)
{
tm.rollback();
}
More information about the jboss-cvs-commits
mailing list