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

Reply via email to