dain 2005/03/01 18:34:05
Modified: modules/core/src/java/org/openejb
EJBContainerConfiguration.java EJBContextImpl.java
GenericEJBContainer.java
Log:
Changed to use new TransactionManagerContext methods managing bean
transactions
Fixed improper handling of bean transactions in StatefulInstanceInterceptor
Removed excessive handling of bean transactions in the SFSB and SLSB vops
Revision Changes Path
1.5 +2 -2
openejb/modules/core/src/java/org/openejb/EJBContainerConfiguration.java
Index: EJBContainerConfiguration.java
===================================================================
RCS file:
/home/projects/openejb/scm/openejb/modules/core/src/java/org/openejb/EJBContainerConfiguration.java,v
retrieving revision 1.4
retrieving revision 1.5
diff -u -r1.4 -r1.5
--- EJBContainerConfiguration.java 26 Jan 2005 23:27:58 -0000 1.4
+++ EJBContainerConfiguration.java 1 Mar 2005 23:34:04 -0000 1.5
@@ -52,7 +52,7 @@
import javax.security.auth.Subject;
import javax.naming.Context;
-import org.apache.geronimo.transaction.UserTransactionImpl;
+import org.apache.geronimo.transaction.context.UserTransactionImpl;
import org.openejb.transaction.TransactionPolicySource;
/**
1.8 +14 -19
openejb/modules/core/src/java/org/openejb/EJBContextImpl.java
Index: EJBContextImpl.java
===================================================================
RCS file:
/home/projects/openejb/scm/openejb/modules/core/src/java/org/openejb/EJBContextImpl.java,v
retrieving revision 1.7
retrieving revision 1.8
diff -u -r1.7 -r1.8
--- EJBContextImpl.java 15 Feb 2005 03:24:01 -0000 1.7
+++ EJBContextImpl.java 1 Mar 2005 23:34:04 -0000 1.8
@@ -60,10 +60,9 @@
import javax.transaction.UserTransaction;
import org.apache.geronimo.security.ContextManager;
-import org.apache.geronimo.transaction.UserTransactionImpl;
-import org.apache.geronimo.transaction.context.ContainerTransactionContext;
import org.apache.geronimo.transaction.context.TransactionContext;
import org.apache.geronimo.transaction.context.TransactionContextManager;
+import org.apache.geronimo.transaction.context.UserTransactionImpl;
/**
* Implementation of EJBContext that uses the State pattern to determine
@@ -195,29 +194,25 @@
public void setRollbackOnly(EJBInstanceContext context,
TransactionContextManager transactionContextManager) {
TransactionContext ctx = transactionContextManager.getContext();
- if (ctx instanceof ContainerTransactionContext) {
- ContainerTransactionContext containerContext =
(ContainerTransactionContext) ctx;
- try {
- containerContext.setRollbackOnly();
- } catch (SystemException e) {
- throw new EJBException(e);
- }
- } else {
+ if (ctx == null || !ctx.isInheritable() || !ctx.isActive()) {
throw new IllegalStateException("There is no transaction in
progess.");
}
+ try {
+ ctx.setRollbackOnly();
+ } catch (SystemException e) {
+ throw new EJBException(e);
+ }
}
public boolean getRollbackOnly(EJBInstanceContext context,
TransactionContextManager transactionContextManager) {
TransactionContext ctx = transactionContextManager.getContext();
- if (ctx instanceof ContainerTransactionContext) {
- ContainerTransactionContext containerContext =
(ContainerTransactionContext) ctx;
- try {
- return containerContext.getRollbackOnly();
- } catch (SystemException e) {
- throw new EJBException(e);
- }
- } else {
+ if (ctx == null || !ctx.isInheritable() || !ctx.isActive()) {
throw new IllegalStateException("There is no transaction in
progess.");
+ }
+ try {
+ return ctx.getRollbackOnly();
+ } catch (SystemException e) {
+ throw new EJBException(e);
}
}
1.42 +2 -2
openejb/modules/core/src/java/org/openejb/GenericEJBContainer.java
Index: GenericEJBContainer.java
===================================================================
RCS file:
/home/projects/openejb/scm/openejb/modules/core/src/java/org/openejb/GenericEJBContainer.java,v
retrieving revision 1.41
retrieving revision 1.42
diff -u -r1.41 -r1.42
--- GenericEJBContainer.java 28 Feb 2005 03:24:26 -0000 1.41
+++ GenericEJBContainer.java 1 Mar 2005 23:34:05 -0000 1.42
@@ -86,8 +86,8 @@
import org.apache.geronimo.security.jacc.RoleMappingConfigurationFactory;
import org.apache.geronimo.timer.ThreadPooledTimer;
import org.apache.geronimo.transaction.TrackedConnectionAssociator;
-import org.apache.geronimo.transaction.UserTransactionImpl;
import org.apache.geronimo.transaction.context.TransactionContextManager;
+import org.apache.geronimo.transaction.context.UserTransactionImpl;
import org.openejb.cache.InstancePool;
import org.openejb.client.EJBObjectHandler;