[jboss-cvs] jboss-seam/src/main/org/jboss/seam/jsf ...
Gavin King
gavin.king at jboss.com
Fri Jun 22 11:28:56 EDT 2007
User: gavin
Date: 07/06/22 11:28:56
Modified: src/main/org/jboss/seam/jsf SeamPhaseListener.java
Log:
a basic TransactionListener that works all the time
javadoc
Revision Changes Path
1.109 +10 -0 jboss-seam/src/main/org/jboss/seam/jsf/SeamPhaseListener.java
(In the diff below, changes in quantity of whitespace are not shown.)
Index: SeamPhaseListener.java
===================================================================
RCS file: /cvsroot/jboss/jboss-seam/src/main/org/jboss/seam/jsf/SeamPhaseListener.java,v
retrieving revision 1.108
retrieving revision 1.109
diff -u -b -r1.108 -r1.109
--- SeamPhaseListener.java 21 Jun 2007 05:27:29 -0000 1.108
+++ SeamPhaseListener.java 22 Jun 2007 15:28:56 -0000 1.109
@@ -26,12 +26,14 @@
import org.jboss.seam.contexts.Context;
import org.jboss.seam.contexts.Contexts;
import org.jboss.seam.contexts.FacesLifecycle;
+import org.jboss.seam.core.BasicTransactionListener;
import org.jboss.seam.core.ConversationList;
import org.jboss.seam.core.ConversationPropagation;
import org.jboss.seam.core.ConversationStack;
import org.jboss.seam.core.Events;
import org.jboss.seam.core.Init;
import org.jboss.seam.core.Manager;
+import org.jboss.seam.core.TransactionListener;
import org.jboss.seam.exceptions.Exceptions;
import org.jboss.seam.faces.FacesManager;
import org.jboss.seam.faces.FacesMessages;
@@ -572,12 +574,16 @@
void commitOrRollback(PhaseId phaseId)
{
+ boolean success=false;
+ TransactionListener transactionListener = BasicTransactionListener.instance();
try
{
if ( Transaction.instance().isActive() )
{
log.debug("committing transaction after phase: " + phaseId);
+ transactionListener.beforeSeamManagedTransactionCompletion();
Transaction.instance().commit();
+ success=true;
}
else if ( Transaction.instance().isRolledBackOrMarkedRollback() )
{
@@ -589,6 +595,10 @@
{
throw new IllegalStateException("Could not commit transaction", e);
}
+ finally
+ {
+ transactionListener.afterSeamManagedTransactionCompletion(success);
+ }
}
}
More information about the jboss-cvs-commits
mailing list