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;
       }
   
  
  
  

Reply via email to