[jboss-cvs] jboss-seam/src/main/org/jboss/seam/util ...
Gavin King
gavin.king at jboss.com
Wed Nov 8 12:32:43 EST 2006
User: gavin
Date: 06/11/08 12:32:43
Modified: src/main/org/jboss/seam/util EJB.java Transactions.java
Log:
fix JBSEAM-456, don't hit UT from a container txn
Revision Changes Path
1.3 +2 -1 jboss-seam/src/main/org/jboss/seam/util/EJB.java
(In the diff below, changes in quantity of whitespace are not shown.)
Index: EJB.java
===================================================================
RCS file: /cvsroot/jboss/jboss-seam/src/main/org/jboss/seam/util/EJB.java,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -b -r1.2 -r1.3
--- EJB.java 1 Nov 2006 02:54:02 -0000 1.2
+++ EJB.java 8 Nov 2006 17:32:43 -0000 1.3
@@ -39,7 +39,8 @@
}
}
- static {
+ static
+ {
STATELESS = classForName("javax.ejb.Stateless");
STATEFUL = classForName("javax.ejb.Stateful");
MESSAGE_DRIVEN = classForName("javax.ejb.MessageDriven");
1.20 +60 -26 jboss-seam/src/main/org/jboss/seam/util/Transactions.java
(In the diff below, changes in quantity of whitespace are not shown.)
Index: Transactions.java
===================================================================
RCS file: /cvsroot/jboss/jboss-seam/src/main/org/jboss/seam/util/Transactions.java,v
retrieving revision 1.19
retrieving revision 1.20
diff -u -b -r1.19 -r1.20
--- Transactions.java 8 Nov 2006 16:11:17 -0000 1.19
+++ Transactions.java 8 Nov 2006 17:32:43 -0000 1.20
@@ -1,9 +1,8 @@
-//$Id: Transactions.java,v 1.19 2006/11/08 16:11:17 gavin Exp $
+//$Id: Transactions.java,v 1.20 2006/11/08 17:32:43 gavin Exp $
package org.jboss.seam.util;
import static javax.transaction.Status.STATUS_ACTIVE;
import static javax.transaction.Status.STATUS_MARKED_ROLLBACK;
-import static javax.transaction.Status.STATUS_NO_TRANSACTION;
import javax.naming.NameNotFoundException;
import javax.naming.NamingException;
@@ -15,21 +14,76 @@
private static String userTransactionName = "UserTransaction";
private static final String STANDARD_USER_TRANSACTION_NAME = "java:comp/UserTransaction";
+ public static void setTransactionRollbackOnly() throws SystemException, NamingException
+ {
+ try
+ {
+ getUserTransaction().setRollbackOnly();
+ }
+ catch (NamingException ne)
+ {
+ EJB.getEJBContext().setRollbackOnly();
+ }
+ }
+
public static boolean isTransactionActive() throws SystemException, NamingException
{
+ try
+ {
return getUserTransaction().getStatus()==STATUS_ACTIVE;
}
+ catch (NamingException ne)
+ {
+ try
+ {
+ return !EJB.getEJBContext().getRollbackOnly();
+ }
+ catch (IllegalStateException ise)
+ {
+ return false;
+ }
+ }
+ }
public static boolean isTransactionActiveOrMarkedRollback() throws SystemException, NamingException
{
+ try
+ {
int status = getUserTransaction().getStatus();
return status==STATUS_ACTIVE || status == STATUS_MARKED_ROLLBACK;
}
+ catch (NamingException ne)
+ {
+ try
+ {
+ EJB.getEJBContext().getRollbackOnly();
+ return true;
+ }
+ catch (IllegalStateException ise)
+ {
+ return false;
+ }
+ }
+ }
public static boolean isTransactionMarkedRollback() throws SystemException, NamingException
{
+ try
+ {
return getUserTransaction().getStatus() == STATUS_MARKED_ROLLBACK;
}
+ catch (NamingException ne)
+ {
+ try
+ {
+ return EJB.getEJBContext().getRollbackOnly();
+ }
+ catch (IllegalStateException ise)
+ {
+ return false;
+ }
+ }
+ }
public static UserTransaction getUserTransaction() throws NamingException
{
@@ -43,14 +97,6 @@
}
}
- public static void setUserTransactionRollbackOnly() throws SystemException, NamingException {
- UserTransaction userTransaction = getUserTransaction();
- if ( userTransaction.getStatus()!=STATUS_NO_TRANSACTION )
- {
- userTransaction.setRollbackOnly();
- }
- }
-
private Transactions() {}
public static void setUserTransactionName(String userTransactionName)
@@ -63,18 +109,6 @@
return userTransactionName;
}
- public static boolean isTransactionAvailableAndMarkedRollback() throws SystemException
- {
- try
- {
- return getUserTransaction().getStatus() == STATUS_MARKED_ROLLBACK;
- }
- catch (NamingException ne)
- {
- return false;
- }
- }
-
/*private static String transactionManagerName = "java:/TransactionManager";
public static TransactionManager getTransactionManager() throws NamingException
More information about the jboss-cvs-commits
mailing list