[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