[jboss-cvs] jboss-seam/src/main/org/jboss/seam/transaction ...

Gavin King gavin.king at jboss.com
Thu Jul 19 07:30:28 EDT 2007


  User: gavin   
  Date: 07/07/19 07:30:28

  Modified:    src/main/org/jboss/seam/transaction  Transaction.java
  Log:
  try to use the standard approach to lookup UT
  
  Revision  Changes    Path
  1.16      +13 -19    jboss-seam/src/main/org/jboss/seam/transaction/Transaction.java
  
  (In the diff below, changes in quantity of whitespace are not shown.)
  
  Index: Transaction.java
  ===================================================================
  RCS file: /cvsroot/jboss/jboss-seam/src/main/org/jboss/seam/transaction/Transaction.java,v
  retrieving revision 1.15
  retrieving revision 1.16
  diff -u -b -r1.15 -r1.16
  --- Transaction.java	19 Jul 2007 10:45:44 -0000	1.15
  +++ Transaction.java	19 Jul 2007 11:30:28 -0000	1.16
  @@ -2,6 +2,7 @@
   
   import static org.jboss.seam.annotations.Install.BUILT_IN;
   
  +import javax.naming.InitialContext;
   import javax.naming.NameNotFoundException;
   import javax.naming.NamingException;
   
  @@ -30,20 +31,6 @@
   @BypassInterceptors
   public class Transaction
   {
  -   private static final String STANDARD_USER_TRANSACTION_NAME = "java:comp/UserTransaction";
  -
  -   private static String userTransactionName = "UserTransaction";
  -
  -   public static void setUserTransactionName(String name)
  -   {
  -      userTransactionName = name;
  -   }
  -
  -   public static String getUserTransactionName()
  -   {
  -      return userTransactionName;
  -   }
  -   
      public static UserTransaction instance()
      {
         return (UserTransaction) Component.getInstance(Transaction.class, ScopeType.EVENT);
  @@ -86,15 +73,22 @@
   
      protected javax.transaction.UserTransaction getUserTransaction() throws NamingException
      {
  +      InitialContext context = Naming.getInitialContext();
         try
         {
  -         javax.transaction.UserTransaction ut = (javax.transaction.UserTransaction) Naming.getInitialContext().lookup(userTransactionName);
  -         ut.getStatus(); //for glassfish, which can return an unusable UT
  -         return ut;
  +         return (javax.transaction.UserTransaction) context.lookup("java:comp/UserTransaction");
  +      }
  +      catch (NameNotFoundException nnfe)
  +      {
  +         try
  +         {
  +            //Embedded JBoss has no java:comp/UserTransaction
  +            return (javax.transaction.UserTransaction) context.lookup("UserTransaction");
         }
         catch (Exception e)
         {
  -         return (javax.transaction.UserTransaction) Naming.getInitialContext().lookup(STANDARD_USER_TRANSACTION_NAME);
  +            throw nnfe;
  +         }
         }
      }
   
  
  
  



More information about the jboss-cvs-commits mailing list