[Mulgara-svn] r333 - trunk/src/jar/resolver/java/org/mulgara/resolver
ronald at mulgara.org
ronald at mulgara.org
Sat Aug 4 22:19:26 UTC 2007
Author: ronald
Date: 2007-08-04 17:19:26 -0500 (Sat, 04 Aug 2007)
New Revision: 333
Modified:
trunk/src/jar/resolver/java/org/mulgara/resolver/MulgaraTransaction.java
Log:
Fix error handling in implicit rollback. Since any error here will lead to
abortTransaction() being invoked, clearing the manager in the error case will
lead to a NPE in abortTransaction(). Furthermore, since abortTransaction()
cleans everything up it seems better to leave the error handling to that.
Modified: trunk/src/jar/resolver/java/org/mulgara/resolver/MulgaraTransaction.java
===================================================================
--- trunk/src/jar/resolver/java/org/mulgara/resolver/MulgaraTransaction.java 2007-08-04 21:57:52 UTC (rev 332)
+++ trunk/src/jar/resolver/java/org/mulgara/resolver/MulgaraTransaction.java 2007-08-04 22:19:26 UTC (rev 333)
@@ -442,23 +442,14 @@
switch (state) {
case ACTUNREF:
case ACTREF:
- try {
- rollbackCause = cause;
- } finally { try {
- transaction.rollback();
- } finally { try {
- transaction = null;
- } finally { try {
- context.clear();
- } finally { try {
- enlisted.clear();
- } finally { try {
- state = State.FAILED;
- } finally { try {
- manager.transactionComplete(this);
- } finally {
- manager = null;
- } } } } } } }
+ rollbackCause = cause;
+ transaction.rollback();
+ transaction = null;
+ context.clear();
+ enlisted.clear();
+ state = State.FAILED;
+ manager.transactionComplete(this);
+ manager = null;
return new MulgaraTransactionException("Transaction rollback triggered", cause);
case DEACTREF:
throw new IllegalStateException("Attempt to rollback deactivated transaction");
More information about the Mulgara-svn
mailing list