djencks 2004/10/05 03:04:03
Modified: modules/core/src/java/org/openejb/slsb
StatelessInstanceContext.java
StatelessInstanceContextFactory.java
StatelessSessionContext.java
Log:
Use TransactionContextManager rather than TransactionContext static methods. Mostly
fix GERONIMO-355. Progress on GERONIMO-347. This demonstrates the problems in
GERONIMO-359 and GERONIMO-360 (there are now itest failures)
Revision Changes Path
1.8 +4 -3
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.7
retrieving revision 1.8
diff -u -r1.7 -r1.8
--- StatelessInstanceContext.java 20 Jul 2004 23:40:02 -0000 1.7
+++ StatelessInstanceContext.java 5 Oct 2004 07:04:03 -0000 1.8
@@ -53,6 +53,7 @@
import org.apache.geronimo.core.service.Interceptor;
import org.apache.geronimo.transaction.UserTransactionImpl;
+import org.apache.geronimo.transaction.context.TransactionContextManager;
import org.openejb.AbstractInstanceContext;
import org.openejb.EJBOperation;
import org.openejb.timer.BasicTimerService;
@@ -68,10 +69,10 @@
private final Object containerId;
private final StatelessSessionContext sessionContext;
- public StatelessInstanceContext(Object containerId, SessionBean instance,
EJBProxyFactory proxyFactory, UserTransactionImpl userTransaction, SystemMethodIndices
systemMethodIndices, Interceptor systemChain, Set unshareableResources, Set
applicationManagedSecurityResources, BasicTimerService timerService) {
+ public StatelessInstanceContext(Object containerId, SessionBean instance,
EJBProxyFactory proxyFactory, TransactionContextManager transactionContextManager,
UserTransactionImpl userTransaction, SystemMethodIndices systemMethodIndices,
Interceptor systemChain, Set unshareableResources, Set
applicationManagedSecurityResources, BasicTimerService timerService) {
super(systemMethodIndices, systemChain, unshareableResources,
applicationManagedSecurityResources, instance, proxyFactory, timerService);
this.containerId = containerId;
- this.sessionContext = new StatelessSessionContext(this, userTransaction);
+ this.sessionContext = new StatelessSessionContext(this,
transactionContextManager, userTransaction);
setContextInvocation = systemMethodIndices.getSetContextInvocation(this,
sessionContext);
unsetContextInvocation = systemMethodIndices.getSetContextInvocation(this,
null);
}
1.9 +10 -4
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.8
retrieving revision 1.9
diff -u -r1.8 -r1.9
--- StatelessInstanceContextFactory.java 20 Jul 2004 23:40:02 -0000 1.8
+++ StatelessInstanceContextFactory.java 5 Oct 2004 07:04:03 -0000 1.9
@@ -63,6 +63,7 @@
import org.openejb.dispatch.SystemMethodIndices;
import org.openejb.proxy.EJBProxyFactory;
import org.apache.geronimo.transaction.UserTransactionImpl;
+import org.apache.geronimo.transaction.context.TransactionContextManager;
import org.apache.geronimo.core.service.Interceptor;
/**
@@ -74,9 +75,10 @@
private final UserTransactionImpl userTransaction;
private final Set unshareableResources;
private final Set applicationManagedSecurityResources;
- private EJBProxyFactory proxyFactory;
+ private transient EJBProxyFactory proxyFactory;
private transient SystemMethodIndices systemMethodIndices;
- private Interceptor systemChain;
+ private transient Interceptor systemChain;
+ private transient TransactionContextManager transactionContextManager;
private transient BasicTimerService timerService;
public StatelessInstanceContextFactory(Object containerId, Class beanClass,
UserTransactionImpl userTransaction, Set unshareableResources, Set
applicationManagedSecurityResources) {
@@ -100,6 +102,10 @@
return systemMethodIndices;
}
+ public void setTransactionContextManager(TransactionContextManager
transactionContextManager) {
+ this.transactionContextManager = transactionContextManager;
+ }
+
public void setTimerService(BasicTimerService timerService) {
this.timerService = timerService;
}
@@ -112,7 +118,7 @@
containerId,
(SessionBean) factory.newInstance(),
proxyFactory,
- userTransaction,
+ transactionContextManager, userTransaction,
systemMethodIndices, systemChain, unshareableResources,
applicationManagedSecurityResources, timerService);
}
1.4 +4 -3
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.3
retrieving revision 1.4
diff -u -r1.3 -r1.4
--- StatelessSessionContext.java 6 Apr 2004 00:43:07 -0000 1.3
+++ StatelessSessionContext.java 5 Oct 2004 07:04:03 -0000 1.4
@@ -61,6 +61,7 @@
import org.openejb.EJBInstanceContext;
import org.openejb.EJBOperation;
import org.apache.geronimo.transaction.UserTransactionImpl;
+import org.apache.geronimo.transaction.context.TransactionContextManager;
/**
* Implementation of SessionContext using the State pattern to determine
@@ -69,8 +70,8 @@
* @version $Revision$ $Date$
*/
public class StatelessSessionContext extends EJBContextImpl implements
SessionContext {
- public StatelessSessionContext(StatelessInstanceContext context,
UserTransactionImpl userTransaction) {
- super(context, userTransaction);
+ public StatelessSessionContext(StatelessInstanceContext context,
TransactionContextManager transactionContextManager, UserTransactionImpl
userTransaction) {
+ super(context, transactionContextManager, userTransaction);
state = StatelessSessionContext.INACTIVE;
}