[jboss-cvs] JBoss Messaging SVN: r4264 - in trunk/src/main/org/jboss/messaging/core: transaction and 1 other directories.

jboss-cvs-commits at lists.jboss.org jboss-cvs-commits at lists.jboss.org
Wed May 21 09:06:37 EDT 2008


Author: ataylor
Date: 2008-05-21 09:06:37 -0400 (Wed, 21 May 2008)
New Revision: 4264

Modified:
   trunk/src/main/org/jboss/messaging/core/server/impl/ServerSessionImpl.java
   trunk/src/main/org/jboss/messaging/core/transaction/Transaction.java
   trunk/src/main/org/jboss/messaging/core/transaction/impl/TransactionImpl.java
Log:
added a rollback_only flag to tx

Modified: trunk/src/main/org/jboss/messaging/core/server/impl/ServerSessionImpl.java
===================================================================
--- trunk/src/main/org/jboss/messaging/core/server/impl/ServerSessionImpl.java	2008-05-21 12:50:33 UTC (rev 4263)
+++ trunk/src/main/org/jboss/messaging/core/server/impl/ServerSessionImpl.java	2008-05-21 13:06:37 UTC (rev 4264)
@@ -295,7 +295,7 @@
             {
                messagingException = new MessagingException(MessagingException.INTERNAL_ERROR, e.getMessage());
             }
-            tx.markAsFailed(messagingException);
+            tx.markAsRollbackOnly(messagingException);
          }
          else
          {

Modified: trunk/src/main/org/jboss/messaging/core/transaction/Transaction.java
===================================================================
--- trunk/src/main/org/jboss/messaging/core/transaction/Transaction.java	2008-05-21 12:50:33 UTC (rev 4263)
+++ trunk/src/main/org/jboss/messaging/core/transaction/Transaction.java	2008-05-21 13:06:37 UTC (rev 4264)
@@ -62,10 +62,10 @@
 
    boolean isContainsPersistent();
 
-   void markAsFailed(MessagingException messagingException);
+   void markAsRollbackOnly(MessagingException messagingException);
 
    static enum State
    {
-      ACTIVE, PREPARED, COMMITTED, ROLLEDBACK, SUSPENDED;
+      ACTIVE, PREPARED, COMMITTED, ROLLEDBACK, SUSPENDED, ROLLBACK_ONLY;
    }
 }

Modified: trunk/src/main/org/jboss/messaging/core/transaction/impl/TransactionImpl.java
===================================================================
--- trunk/src/main/org/jboss/messaging/core/transaction/impl/TransactionImpl.java	2008-05-21 12:50:33 UTC (rev 4263)
+++ trunk/src/main/org/jboss/messaging/core/transaction/impl/TransactionImpl.java	2008-05-21 13:06:37 UTC (rev 4264)
@@ -62,8 +62,6 @@
 
    private MessagingException messagingException;
 
-   private boolean failed;
-
    public TransactionImpl(final StorageManager storageManager,
                           final PostOffice postOffice)
    {
@@ -183,9 +181,17 @@
 
    public void commit() throws Exception
    {
-      if (failed)
+      if (state == State.ROLLBACK_ONLY)
       {
-         throw messagingException;
+         if (messagingException != null)
+         {
+            throw messagingException;
+         }
+         else
+         {
+            throw new IllegalStateException("Transaction is in invalid state " + state);
+         }
+
       }
       if (xid != null)
       {
@@ -333,9 +339,9 @@
       return containsPersistent;
    }
 
-   public void markAsFailed(MessagingException messagingException)
+   public void markAsRollbackOnly(MessagingException messagingException)
    {
-      this.failed = true;
+      state = State.ROLLBACK_ONLY;
       this.messagingException = messagingException;
    }
 




More information about the jboss-cvs-commits mailing list