User: patriot1burke
  Date: 02/04/09 22:40:12

  Modified:    src/main/org/jboss/ejb/plugins
                        EntitySynchronizationInterceptor.java
  Log:
  read-only methods and read-only beans no longer synchronize with the transaction.
  
  Revision  Changes    Path
  1.64      +11 -9     
jboss/src/main/org/jboss/ejb/plugins/EntitySynchronizationInterceptor.java
  
  Index: EntitySynchronizationInterceptor.java
  ===================================================================
  RCS file: 
/cvsroot/jboss/jboss/src/main/org/jboss/ejb/plugins/EntitySynchronizationInterceptor.java,v
  retrieving revision 1.63
  retrieving revision 1.64
  diff -u -r1.63 -r1.64
  --- EntitySynchronizationInterceptor.java     5 Apr 2002 04:08:02 -0000       1.63
  +++ EntitySynchronizationInterceptor.java     10 Apr 2002 05:40:12 -0000      1.64
  @@ -43,7 +43,7 @@
    * @author <a href="mailto:[EMAIL PROTECTED]";>Marc Fleury</a>
    * @author <a href="mailto:[EMAIL PROTECTED]";>Scott Stark</a>
    * @author <a href="mailto:[EMAIL PROTECTED]";>Bill Burke</a>
  - * @version $Revision: 1.63 $
  + * @version $Revision: 1.64 $
    *
    * <p><b>Revisions:</b><br>
    * <p><b>2001/06/28: marcf</b>
  @@ -243,7 +243,7 @@
               {
                  lock.schedule(mi);
                  register(ctx, tx); // Set tx
  -               lock.releaseMethodLock();
  +               lock.endInvocation(mi);
               }
               finally
               {
  @@ -284,7 +284,11 @@
            }
            catch (Exception ex)
            {
  -            clearContextTx("loadEntity Exception", ctx, tx, log.isTraceEnabled());
  +            // readonly does not synchronize, lock or belong with transaction.
  +            if (!container.isReadOnly() && 
!container.getBeanMetaData().isMethodReadOnly(mi.getMethod().getName()))
  +            {
  +               clearContextTx("loadEntity Exception", ctx, tx, 
log.isTraceEnabled());
  +            }
               throw ex;
            }
      
  @@ -298,17 +302,15 @@
         // Invocation with a running Transaction
         if (tx != null && tx.getStatus() != Status.STATUS_NO_TRANSACTION)
         {
  -         try
  -         {     
  -            //Invoke down the chain
  -            return getNext().invoke(mi);  
  -         }
  -         finally
  +         // readonly does not synchronize, lock or belong with transaction.
  +         if (!container.isReadOnly() && 
!container.getBeanMetaData().isMethodReadOnly(mi.getMethod().getName()))
            {
               //register the wrapper with the transaction monitor (but only register 
once).
               // The transaction demarcation will trigger the storage operations
               register(ctx,tx);
            }
  +         //Invoke down the chain
  +         return getNext().invoke(mi);  
         }
         //
         else
  
  
  

_______________________________________________
Jboss-development mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/jboss-development

Reply via email to