[jboss-cvs] JBossAS SVN: r76505 - projects/ejb3/trunk/core/src/main/java/org/jboss/ejb3/stateful.

jboss-cvs-commits at lists.jboss.org jboss-cvs-commits at lists.jboss.org
Thu Jul 31 09:17:14 EDT 2008


Author: wolfc
Date: 2008-07-31 09:17:14 -0400 (Thu, 31 Jul 2008)
New Revision: 76505

Modified:
   projects/ejb3/trunk/core/src/main/java/org/jboss/ejb3/stateful/SessionSynchronizationInterceptor.java
Log:
EJBTHREE-1446: allow timer methods in beforeCompletion

Modified: projects/ejb3/trunk/core/src/main/java/org/jboss/ejb3/stateful/SessionSynchronizationInterceptor.java
===================================================================
--- projects/ejb3/trunk/core/src/main/java/org/jboss/ejb3/stateful/SessionSynchronizationInterceptor.java	2008-07-31 12:14:37 UTC (rev 76504)
+++ projects/ejb3/trunk/core/src/main/java/org/jboss/ejb3/stateful/SessionSynchronizationInterceptor.java	2008-07-31 13:17:14 UTC (rev 76505)
@@ -34,6 +34,7 @@
 
 import org.jboss.aop.advice.Interceptor;
 import org.jboss.aop.joinpoint.Invocation;
+import org.jboss.ejb.AllowedOperationsAssociation;
 import org.jboss.ejb3.tx.TxUtil;
 import org.jboss.logging.Logger;
 
@@ -73,12 +74,19 @@
          SessionSynchronization bean = (SessionSynchronization) ctx.getInstance();
          try
          {
+            // FIXME: This is a dirty hack to notify AS EJBTimerService about what's going on
+            AllowedOperationsAssociation.pushInMethodFlag(AllowedOperationsAssociation.IN_BEFORE_COMPLETION);
+            
             bean.beforeCompletion();
          }
          catch (RemoteException e)
          {
             throw new RuntimeException(e);
          }
+         finally
+         {
+            AllowedOperationsAssociation.popInMethodFlag();
+         }
       }
 
       public void afterCompletion(int status)




More information about the jboss-cvs-commits mailing list