[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