[jboss-cvs] JBossCache/src/org/jboss/cache/interceptors ...

Brian Stansberry brian.stansberry at jboss.com
Fri Jun 29 00:27:33 EDT 2007


  User: bstansberry
  Date: 07/06/29 00:27:33

  Modified:    src/org/jboss/cache/interceptors  
                        OrderedSynchronizationHandler.java
                        TxInterceptor.java
  Log:
  [JBCACHE-1114] Don't call Transaction.toString() in a Synchronization's toString()
  
  Revision  Changes    Path
  1.6       +11 -2     JBossCache/src/org/jboss/cache/interceptors/OrderedSynchronizationHandler.java
  
  (In the diff below, changes in quantity of whitespace are not shown.)
  
  Index: OrderedSynchronizationHandler.java
  ===================================================================
  RCS file: /cvsroot/jboss/JBossCache/src/org/jboss/cache/interceptors/OrderedSynchronizationHandler.java,v
  retrieving revision 1.5
  retrieving revision 1.6
  diff -u -b -r1.5 -r1.6
  --- OrderedSynchronizationHandler.java	11 Jun 2007 12:58:17 -0000	1.5
  +++ OrderedSynchronizationHandler.java	29 Jun 2007 04:27:33 -0000	1.6
  @@ -19,7 +19,7 @@
    * afterCompletion() <em>before</em> the TransactionInterceptor's.
    *
    * @author Bela Ban
  - * @version $Id: OrderedSynchronizationHandler.java,v 1.5 2007/06/11 12:58:17 msurtani Exp $
  + * @version $Id: OrderedSynchronizationHandler.java,v 1.6 2007/06/29 04:27:33 bstansberry Exp $
    */
   public class OrderedSynchronizationHandler implements Synchronization
   {
  @@ -106,7 +106,16 @@
      public String toString()
      {
         StringBuffer sb = new StringBuffer();
  -      sb.append("tx=" + tx + ", handlers=" + handlers);
  +      sb.append("tx=" + getTxAsString() + ", handlers=" + handlers);
         return sb.toString();
      }
  +   
  +   private String getTxAsString()
  +   {
  +      // JBCACHE-1114 -- don't call toString() on tx or it can lead to stack overflow
  +      if (tx == null)
  +         return null;
  +      
  +      return tx.getClass().getName() + "@" + System.identityHashCode(tx);
  +   }
   }
  
  
  
  1.85      +11 -2     JBossCache/src/org/jboss/cache/interceptors/TxInterceptor.java
  
  (In the diff below, changes in quantity of whitespace are not shown.)
  
  Index: TxInterceptor.java
  ===================================================================
  RCS file: /cvsroot/jboss/JBossCache/src/org/jboss/cache/interceptors/TxInterceptor.java,v
  retrieving revision 1.84
  retrieving revision 1.85
  diff -u -b -r1.84 -r1.85
  --- TxInterceptor.java	28 Jun 2007 16:53:37 -0000	1.84
  +++ TxInterceptor.java	29 Jun 2007 04:27:33 -0000	1.85
  @@ -1078,7 +1078,16 @@
   
         public String toString()
         {
  -         return "TxInterceptor.RemoteSynchronizationHandler(gtx=" + gtx + ", tx=" + tx + ")";
  +         return "TxInterceptor.RemoteSynchronizationHandler(gtx=" + gtx + ", tx=" + getTxAsString() + ")";
  +      }
  +      
  +      protected String getTxAsString()
  +      {
  +         // JBCACHE-1114 -- don't call toString() on tx or it can lead to stack overflow
  +         if (tx == null)
  +            return null;
  +         
  +         return tx.getClass().getName() + "@" + System.identityHashCode(tx);
         }
      }
   
  @@ -1180,7 +1189,7 @@
   
         public String toString()
         {
  -         return "TxInterceptor.LocalSynchronizationHandler(gtx=" + gtx + ", tx=" + tx + ")";
  +         return "TxInterceptor.LocalSynchronizationHandler(gtx=" + gtx + ", tx=" + getTxAsString() + ")";
         }
      }
   }
  \ No newline at end of file
  
  
  



More information about the jboss-cvs-commits mailing list