dain 2005/03/01 18:34:32
Modified: modules/core/src/java/org/openejb/slsb BusinessMethod.java
EJBCreateMethod.java RemoveMethod.java
StatelessInstanceContext.java
StatelessInstanceContextFactory.java
StatelessSessionContext.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.3 +1 -3
openejb/modules/core/src/java/org/openejb/slsb/BusinessMethod.java
Index: BusinessMethod.java
===================================================================
RCS file:
/home/projects/openejb/scm/openejb/modules/core/src/java/org/openejb/slsb/BusinessMethod.java,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -r1.2 -r1.3
--- BusinessMethod.java 21 Mar 2004 21:26:37 -0000 1.2
+++ BusinessMethod.java 1 Mar 2005 23:34:32 -0000 1.3
@@ -56,8 +56,6 @@
import org.openejb.dispatch.MethodSignature;
/**
- *
- *
* @version $Revision$ $Date$
*/
public class BusinessMethod extends AbstractMethodOperation {
1.2 +3 -11
openejb/modules/core/src/java/org/openejb/slsb/EJBCreateMethod.java
Index: EJBCreateMethod.java
===================================================================
RCS file:
/home/projects/openejb/scm/openejb/modules/core/src/java/org/openejb/slsb/EJBCreateMethod.java,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- EJBCreateMethod.java 26 Jan 2005 23:28:01 -0000 1.1
+++ EJBCreateMethod.java 1 Mar 2005 23:34:32 -0000 1.2
@@ -54,7 +54,6 @@
import net.sf.cglib.reflect.FastClass;
import org.apache.geronimo.core.service.InvocationResult;
import org.apache.geronimo.core.service.SimpleInvocationResult;
-import org.apache.geronimo.transaction.context.TransactionContext;
import org.openejb.EJBInstanceContext;
import org.openejb.EJBInvocation;
import org.openejb.EJBOperation;
@@ -68,14 +67,12 @@
private static final InvocationResult NULL_RESULT = new
SimpleInvocationResult(true, null);
private static final MethodSignature CREATE_SIG = new
MethodSignature("ejbCreate");
private final Class beanClass;
- private final boolean isBMT;
private final transient FastClass fastClass;
private final transient int createIndex;
- public EJBCreateMethod(Class beanClass, boolean isBMT) {
+ public EJBCreateMethod(Class beanClass) {
this.beanClass = beanClass;
- this.isBMT = isBMT;
fastClass = FastClass.create(beanClass);
Method javaMethod = CREATE_SIG.getMethod(beanClass);
@@ -107,15 +104,10 @@
}
} finally {
ctx.setOperation(EJBOperation.INACTIVE);
- if (isBMT) {
- // we need to update the invocation cache of the transaction
context
- // because they may have used UserTransaction to push a new
context
-
invocation.setTransactionContext(TransactionContext.getContext());
- }
}
}
private Object readResolve() {
- return new EJBCreateMethod(beanClass, isBMT);
+ return new EJBCreateMethod(beanClass);
}
}
1.2 +6 -17
openejb/modules/core/src/java/org/openejb/slsb/RemoveMethod.java
Index: RemoveMethod.java
===================================================================
RCS file:
/home/projects/openejb/scm/openejb/modules/core/src/java/org/openejb/slsb/RemoveMethod.java,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- RemoveMethod.java 26 Jan 2005 23:28:01 -0000 1.1
+++ RemoveMethod.java 1 Mar 2005 23:34:32 -0000 1.2
@@ -48,35 +48,24 @@
package org.openejb.slsb;
import org.apache.geronimo.core.service.InvocationResult;
-import org.apache.geronimo.transaction.context.TransactionContext;
-
import org.openejb.EJBInvocation;
import org.openejb.EJBOperation;
import org.openejb.dispatch.MethodSignature;
+import org.openejb.dispatch.AbstractMethodOperation;
/**
* Virtual operation handling removal of an instance.
*
* @version $Revision$ $Date$
*/
-public class RemoveMethod extends org.openejb.sfsb.BusinessMethod {
+public class RemoveMethod extends AbstractMethodOperation {
private static final MethodSignature REMOVE_SIG = new
MethodSignature("ejbRemove");
- public RemoveMethod(Class beanClass, boolean isBMT) {
- super(beanClass, REMOVE_SIG, isBMT);
+ public RemoveMethod(Class beanClass) {
+ super(beanClass, REMOVE_SIG);
}
public InvocationResult execute(EJBInvocation invocation) throws
Throwable {
- InvocationResult result = null;
- try {
- result = invoke(invocation, EJBOperation.EJBREMOVE);
- } finally {
- if(isBMT) {
- // we need to update the invocation cache of the transaction
context
- // because they may have used UserTransaction to push a new
context
-
invocation.setTransactionContext(TransactionContext.getContext());
- }
- }
- return result;
+ return invoke(invocation, EJBOperation.EJBREMOVE);
}
}
1.14 +2 -2
openejb/modules/core/src/java/org/openejb/slsb/StatelessInstanceContext.java
Index: StatelessInstanceContext.java
===================================================================
RCS file:
/home/projects/openejb/scm/openejb/modules/core/src/java/org/openejb/slsb/StatelessInstanceContext.java,v
retrieving revision 1.13
retrieving revision 1.14
diff -u -r1.13 -r1.14
--- StatelessInstanceContext.java 25 Feb 2005 23:06:11 -0000 1.13
+++ StatelessInstanceContext.java 1 Mar 2005 23:34:32 -0000 1.14
@@ -52,8 +52,8 @@
import javax.xml.rpc.handler.MessageContext;
import org.apache.geronimo.core.service.Interceptor;
-import org.apache.geronimo.transaction.UserTransactionImpl;
import org.apache.geronimo.transaction.context.TransactionContextManager;
+import org.apache.geronimo.transaction.context.UserTransactionImpl;
import org.openejb.AbstractInstanceContext;
import org.openejb.EJBInvocation;
import org.openejb.EJBOperation;
1.10 +2 -2
openejb/modules/core/src/java/org/openejb/slsb/StatelessInstanceContextFactory.java
Index: StatelessInstanceContextFactory.java
===================================================================
RCS file:
/home/projects/openejb/scm/openejb/modules/core/src/java/org/openejb/slsb/StatelessInstanceContextFactory.java,v
retrieving revision 1.9
retrieving revision 1.10
diff -u -r1.9 -r1.10
--- StatelessInstanceContextFactory.java 5 Oct 2004 07:04:03 -0000
1.9
+++ StatelessInstanceContextFactory.java 1 Mar 2005 23:34:32 -0000
1.10
@@ -62,7 +62,7 @@
import org.openejb.dispatch.InterfaceMethodSignature;
import org.openejb.dispatch.SystemMethodIndices;
import org.openejb.proxy.EJBProxyFactory;
-import org.apache.geronimo.transaction.UserTransactionImpl;
+import org.apache.geronimo.transaction.context.UserTransactionImpl;
import org.apache.geronimo.transaction.context.TransactionContextManager;
import org.apache.geronimo.core.service.Interceptor;
1.9 +2 -2
openejb/modules/core/src/java/org/openejb/slsb/StatelessSessionContext.java
Index: StatelessSessionContext.java
===================================================================
RCS file:
/home/projects/openejb/scm/openejb/modules/core/src/java/org/openejb/slsb/StatelessSessionContext.java,v
retrieving revision 1.8
retrieving revision 1.9
diff -u -r1.8 -r1.9
--- StatelessSessionContext.java 16 Feb 2005 22:03:19 -0000 1.8
+++ StatelessSessionContext.java 1 Mar 2005 23:34:32 -0000 1.9
@@ -61,7 +61,7 @@
import org.openejb.EJBInstanceContext;
import org.openejb.EJBOperation;
import org.openejb.timer.TimerState;
-import org.apache.geronimo.transaction.UserTransactionImpl;
+import org.apache.geronimo.transaction.context.UserTransactionImpl;
import org.apache.geronimo.transaction.context.TransactionContextManager;
/**