djencks 2004/10/05 03:04:01
Modified: modules/core/src/java/org/openejb/mdb MDBContainer.java
MDBContext.java MDBInstanceContext.java
MDBInstanceContextFactory.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.18 +2 -2 openejb/modules/core/src/java/org/openejb/mdb/MDBContainer.java
Index: MDBContainer.java
===================================================================
RCS file:
/home/projects/openejb/scm/openejb/modules/core/src/java/org/openejb/mdb/MDBContainer.java,v
retrieving revision 1.17
retrieving revision 1.18
diff -u -r1.17 -r1.18
--- MDBContainer.java 2 Aug 2004 01:52:36 -0000 1.17
+++ MDBContainer.java 5 Oct 2004 07:04:01 -0000 1.18
@@ -141,7 +141,7 @@
SystemMethodIndices systemMethodIndices =
contextFactory.setSignatures(getSignatures());
contextFactory.setSystemChain(chains.getSystemChain());
-
+ contextFactory.setTransactionContextManager(transactionContextManager);
if (timer != null) {
timerService = new BasicTimerService(systemMethodIndices, interceptor,
timer, objectName, kernel.getKernelName(), ObjectName.getInstance(objectName),
transactionContextManager);
contextFactory.setTimerService(timerService);
1.4 +4 -3 openejb/modules/core/src/java/org/openejb/mdb/MDBContext.java
Index: MDBContext.java
===================================================================
RCS file:
/home/projects/openejb/scm/openejb/modules/core/src/java/org/openejb/mdb/MDBContext.java,v
retrieving revision 1.3
retrieving revision 1.4
diff -u -r1.3 -r1.4
--- MDBContext.java 22 Jun 2004 19:04:53 -0000 1.3
+++ MDBContext.java 5 Oct 2004 07:04:01 -0000 1.4
@@ -58,6 +58,7 @@
import javax.xml.rpc.handler.MessageContext;
import org.apache.geronimo.transaction.UserTransactionImpl;
+import org.apache.geronimo.transaction.context.TransactionContextManager;
import org.openejb.EJBContextImpl;
import org.openejb.EJBInstanceContext;
import org.openejb.EJBOperation;
@@ -69,8 +70,8 @@
* @version $Revision$ $Date$
*/
public class MDBContext extends EJBContextImpl implements MessageDrivenContext {
- public MDBContext(MDBInstanceContext context, UserTransactionImpl
userTransaction) {
- super(context, userTransaction);
+ public MDBContext(MDBInstanceContext context, TransactionContextManager
transactionContextManager, UserTransactionImpl userTransaction) {
+ super(context, transactionContextManager, userTransaction);
state = MDBContext.INACTIVE;
}
1.8 +4 -3
openejb/modules/core/src/java/org/openejb/mdb/MDBInstanceContext.java
Index: MDBInstanceContext.java
===================================================================
RCS file:
/home/projects/openejb/scm/openejb/modules/core/src/java/org/openejb/mdb/MDBInstanceContext.java,v
retrieving revision 1.7
retrieving revision 1.8
diff -u -r1.7 -r1.8
--- MDBInstanceContext.java 20 Jul 2004 23:40:02 -0000 1.7
+++ MDBInstanceContext.java 5 Oct 2004 07:04:01 -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.dispatch.SystemMethodIndices;
@@ -67,10 +68,10 @@
private final Object containerId;
private final MDBContext mdbContext;
- public MDBInstanceContext(Object containerId, MessageDrivenBean instance,
UserTransactionImpl userTransaction, SystemMethodIndices systemMethodIndices,
Interceptor systemChain, Set unshareableResources, Set
applicationManagedSecurityResources, BasicTimerService timerService) {
+ public MDBInstanceContext(Object containerId, MessageDrivenBean instance,
TransactionContextManager transactionContextManager, UserTransactionImpl
userTransaction, SystemMethodIndices systemMethodIndices, Interceptor systemChain, Set
unshareableResources, Set applicationManagedSecurityResources, BasicTimerService
timerService) {
super(systemMethodIndices, systemChain, unshareableResources,
applicationManagedSecurityResources, instance, null, timerService);
this.containerId = containerId;
- this.mdbContext = new MDBContext(this, userTransaction);
+ this.mdbContext = new MDBContext(this, transactionContextManager,
userTransaction);
setContextInvocation = systemMethodIndices.getSetContextInvocation(this,
mdbContext);
unsetContextInvocation = systemMethodIndices.getSetContextInvocation(this,
null);
}
1.5 +10 -4
openejb/modules/core/src/java/org/openejb/mdb/MDBInstanceContextFactory.java
Index: MDBInstanceContextFactory.java
===================================================================
RCS file:
/home/projects/openejb/scm/openejb/modules/core/src/java/org/openejb/mdb/MDBInstanceContextFactory.java,v
retrieving revision 1.4
retrieving revision 1.5
diff -u -r1.4 -r1.5
--- MDBInstanceContextFactory.java 20 Jul 2004 23:40:02 -0000 1.4
+++ MDBInstanceContextFactory.java 5 Oct 2004 07:04:01 -0000 1.5
@@ -54,6 +54,7 @@
import org.apache.geronimo.transaction.InstanceContext;
import org.apache.geronimo.transaction.UserTransactionImpl;
+import org.apache.geronimo.transaction.context.TransactionContextManager;
import org.apache.geronimo.core.service.Interceptor;
import org.openejb.EJBInstanceFactory;
import org.openejb.EJBInstanceFactoryImpl;
@@ -70,8 +71,9 @@
private final UserTransactionImpl userTransaction;
private final Set unshareableResources;
private final Set applicationManagedSecurityResources;
- private SystemMethodIndices systemMethodIndices;
- private Interceptor systemChain;
+ private transient SystemMethodIndices systemMethodIndices;
+ private transient Interceptor systemChain;
+ private transient TransactionContextManager transactionContextManager;
private transient BasicTimerService timerService;
public MDBInstanceContextFactory(Object containerId, Class beanClass,
UserTransactionImpl userTransaction, Set unshareableResources, Set
applicationManagedSecurityResources) {
@@ -91,6 +93,10 @@
return systemMethodIndices;
}
+ public void setTransactionContextManager(TransactionContextManager
transactionContextManager) {
+ this.transactionContextManager = transactionContextManager;
+ }
+
public void setTimerService(BasicTimerService timerService) {
this.timerService = timerService;
}
@@ -99,7 +105,7 @@
public InstanceContext newInstance() throws Exception {
return new MDBInstanceContext(containerId,
(MessageDrivenBean) factory.newInstance(),
- userTransaction,
+ transactionContextManager, userTransaction,
systemMethodIndices, systemChain, unshareableResources,
applicationManagedSecurityResources, timerService);
}