[jboss-cvs] JBossAS SVN: r71012 - in branches/JBPAPP_4_2_0_GA_CP/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
Wed Mar 19 11:57:36 EDT 2008


Author: darran.lofthouse at jboss.com
Date: 2008-03-19 11:57:36 -0400 (Wed, 19 Mar 2008)
New Revision: 71012

Modified:
   branches/JBPAPP_4_2_0_GA_CP/messaging/src/main/org/jboss/mq/pm/jdbc2/PersistenceManager.java
   branches/JBPAPP_4_2_0_GA_CP/messaging/src/main/org/jboss/mq/sm/jdbc/JDBCStateManager.java
Log:
[JBPAPP-688] Transaction timeout is not raising a JMSException in the JBossMQ Persistence manager or StateManager.

Modified: branches/JBPAPP_4_2_0_GA_CP/messaging/src/main/org/jboss/mq/pm/jdbc2/PersistenceManager.java
===================================================================
--- branches/JBPAPP_4_2_0_GA_CP/messaging/src/main/org/jboss/mq/pm/jdbc2/PersistenceManager.java	2008-03-19 15:56:48 UTC (rev 71011)
+++ branches/JBPAPP_4_2_0_GA_CP/messaging/src/main/org/jboss/mq/pm/jdbc2/PersistenceManager.java	2008-03-19 15:57:36 UTC (rev 71012)
@@ -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/JBPAPP_4_2_0_GA_CP/messaging/src/main/org/jboss/mq/sm/jdbc/JDBCStateManager.java
===================================================================
--- branches/JBPAPP_4_2_0_GA_CP/messaging/src/main/org/jboss/mq/sm/jdbc/JDBCStateManager.java	2008-03-19 15:56:48 UTC (rev 71011)
+++ branches/JBPAPP_4_2_0_GA_CP/messaging/src/main/org/jboss/mq/sm/jdbc/JDBCStateManager.java	2008-03-19 15:57:36 UTC (rev 71012)
@@ -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