User: starksm
Date: 02/04/05 10:01:59
Modified: src/main/org/jboss/ejb/plugins Tag: Branch_2_4
StatefulSessionInstanceInterceptor.java
Log:
Initial attempt to handle SessionSynchronization method failures as per
section 18.3.3 of the EJB 2.0 spec
Revision Changes Path
No revision
No revision
1.15.6.5 +20 -4
jboss/src/main/org/jboss/ejb/plugins/StatefulSessionInstanceInterceptor.java
Index: StatefulSessionInstanceInterceptor.java
===================================================================
RCS file:
/cvsroot/jboss/jboss/src/main/org/jboss/ejb/plugins/StatefulSessionInstanceInterceptor.java,v
retrieving revision 1.15.6.4
retrieving revision 1.15.6.5
diff -u -r1.15.6.4 -r1.15.6.5
--- StatefulSessionInstanceInterceptor.java 4 Mar 2002 07:39:02 -0000
1.15.6.4
+++ StatefulSessionInstanceInterceptor.java 5 Apr 2002 18:01:59 -0000
1.15.6.5
@@ -14,6 +14,7 @@
import javax.transaction.RollbackException;
import javax.transaction.Status;
import javax.transaction.Synchronization;
+import javax.transaction.SystemException;
import javax.ejb.EJBException;
import javax.ejb.EJBObject;
@@ -38,7 +39,7 @@
* @author <a href="mailto:[EMAIL PROTECTED]">Marc Fleury</a>
* @author <a href="mailto:[EMAIL PROTECTED]">Bill Burke</a>
* @author <a href="mailto:[EMAIL PROTECTED]">Scott Stark</a>
- * @version $Revision: 1.15.6.4 $
+ * @version $Revision: 1.15.6.5 $
*
* <p><b>Revisions:</b>
* <p><b>20010704 marcf</b>
@@ -379,14 +380,20 @@
catch (Exception e)
{
log.error("failed to invoke afterBegin", e);
+ try
+ {
+ tx.setRollbackOnly();
+ }
+ catch(SystemException se)
+ {
+ }
+ throw new EJBException("Unexpected error in afterBegin", e);
}
}
}
-
+
public void beforeCompletion()
{
- // DEBUG log.debug("beforeCompletion called");
-
// lock the context the transaction is being commited (no need for sync)
ctx.lock();
@@ -399,6 +406,14 @@
catch (Exception e)
{
log.error("failed to invoke beforeCompletion", e);
+ try
+ {
+ tx.setRollbackOnly();
+ }
+ catch(SystemException se)
+ {
+ }
+ throw new EJBException("Unexpected error in beforeCompletion", e);
}
}
}
@@ -434,6 +449,7 @@
catch (Exception e)
{
log.error("failed to invoke afterCompletion", e);
+ throw new EJBException("Unexpected error in afterCompletion", e);
}
}
}
_______________________________________________
Jboss-development mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/jboss-development