[jboss-cvs] JBossAS SVN: r81809 - in projects/ejb3/trunk/core: src/main/java/org/jboss/ejb3 and 4 other directories.

jboss-cvs-commits at lists.jboss.org jboss-cvs-commits at lists.jboss.org
Sat Nov 29 11:49:40 EST 2008


Author: wolfc
Date: 2008-11-29 11:49:40 -0500 (Sat, 29 Nov 2008)
New Revision: 81809

Removed:
   projects/ejb3/trunk/core/src/main/java/org/jboss/ejb3/connectionmanager/CachedConnectionManager.java
Modified:
   projects/ejb3/trunk/core/pom.xml
   projects/ejb3/trunk/core/src/main/java/org/jboss/ejb3/EJBContainer.java
   projects/ejb3/trunk/core/src/main/java/org/jboss/ejb3/connectionmanager/CachedConnectionInterceptor.java
   projects/ejb3/trunk/core/src/main/resources/ejb3-container-jboss-beans.xml
   projects/ejb3/trunk/core/src/test/java/org/jboss/ejb3/core/test/common/MockCachedConnectionManager.java
   projects/ejb3/trunk/core/src/test/java/org/jboss/ejb3/core/test/common/SimpleTransactionService.java
   projects/ejb3/trunk/core/src/test/resources/container-beans.xml
   projects/ejb3/trunk/core/src/test/resources/transactionmanager-beans.xml
Log:
EJBTHREE-1028: using ComponentStack jca-spi

Modified: projects/ejb3/trunk/core/pom.xml
===================================================================
--- projects/ejb3/trunk/core/pom.xml	2008-11-29 15:28:47 UTC (rev 81808)
+++ projects/ejb3/trunk/core/pom.xml	2008-11-29 16:49:40 UTC (rev 81809)
@@ -171,6 +171,12 @@
     </dependency>
     
     <dependency>
+      <groupId>org.jboss.integration</groupId>
+      <artifactId>jboss-jca-spi</artifactId>
+      <version>5.0.3.GA</version>
+    </dependency>
+    
+    <dependency>
       <groupId>org.jboss.metadata</groupId>
       <artifactId>jboss-metadata</artifactId>
       <exclusions>

Modified: projects/ejb3/trunk/core/src/main/java/org/jboss/ejb3/EJBContainer.java
===================================================================
--- projects/ejb3/trunk/core/src/main/java/org/jboss/ejb3/EJBContainer.java	2008-11-29 15:28:47 UTC (rev 81808)
+++ projects/ejb3/trunk/core/src/main/java/org/jboss/ejb3/EJBContainer.java	2008-11-29 16:49:40 UTC (rev 81809)
@@ -57,6 +57,7 @@
 import javax.naming.NamingException;
 import javax.naming.Reference;
 import javax.naming.StringRefAddr;
+import javax.transaction.TransactionManager;
 
 import org.jboss.aop.Advisor;
 import org.jboss.aop.Domain;
@@ -67,14 +68,12 @@
 import org.jboss.aop.util.MethodHashing;
 import org.jboss.aspects.currentinvocation.CurrentInvocationInterceptor;
 import org.jboss.beans.metadata.api.annotations.Inject;
-import org.jboss.beans.metadata.api.model.InjectOption;
 import org.jboss.ejb.AllowedOperationsAssociation;
 import org.jboss.ejb3.annotation.Clustered;
 import org.jboss.ejb3.annotation.SecurityDomain;
 import org.jboss.ejb3.annotation.defaults.PoolDefaults;
 import org.jboss.ejb3.aop.BeanContainer;
 import org.jboss.ejb3.common.spi.ErrorCodes;
-import org.jboss.ejb3.connectionmanager.CachedConnectionManager;
 import org.jboss.ejb3.deployers.JBoss5DependencyPolicy;
 import org.jboss.ejb3.injection.InjectionInvocation;
 import org.jboss.ejb3.interceptor.InterceptorInfoRepository;
@@ -105,6 +104,7 @@
 import org.jboss.injection.PersistenceUnitHandler;
 import org.jboss.injection.ResourceHandler;
 import org.jboss.injection.WebServiceRefHandler;
+import org.jboss.jca.spi.ComponentStack;
 import org.jboss.logging.Logger;
 import org.jboss.metadata.ejb.jboss.JBossAssemblyDescriptorMetaData;
 import org.jboss.metadata.ejb.jboss.JBossEnterpriseBeanMetaData;
@@ -193,7 +193,7 @@
    
    private static final Interceptor[] currentInvocationStack = new Interceptor[] { new CurrentInvocationInterceptor() };
    
-   private CachedConnectionManager cachedConnectionManager;
+   private ComponentStack cachedConnectionManager;
    
    /**
     * @param name                  Advisor name
@@ -728,7 +728,7 @@
       return encInjectors;
    }
 
-   public CachedConnectionManager getCachedConnectionManager()
+   public ComponentStack getCachedConnectionManager()
    {
       return cachedConnectionManager;
    }
@@ -1559,8 +1559,8 @@
       beanContainer.reinitializeAdvisor();
    }
    
-   @Inject(option=InjectOption.OPTIONAL)
-   public void setCachedConnectionManager(CachedConnectionManager ccm)
+   @Inject
+   public void setCachedConnectionManager(ComponentStack ccm)
    {
       this.cachedConnectionManager = ccm;
    }
@@ -1595,6 +1595,14 @@
       return this.containerLock.writeLock();
    }
    
+   // to make sure we have a dependency on the TransactionManager
+   // note that the actual tx interceptors don't make use of the injected tm
+   @Inject
+   public void setTransactionManager(TransactionManager tm)
+   {
+      
+   }
+   
    public String toString()
    {
       return getObjectName().getCanonicalName();

Modified: projects/ejb3/trunk/core/src/main/java/org/jboss/ejb3/connectionmanager/CachedConnectionInterceptor.java
===================================================================
--- projects/ejb3/trunk/core/src/main/java/org/jboss/ejb3/connectionmanager/CachedConnectionInterceptor.java	2008-11-29 15:28:47 UTC (rev 81808)
+++ projects/ejb3/trunk/core/src/main/java/org/jboss/ejb3/connectionmanager/CachedConnectionInterceptor.java	2008-11-29 16:49:40 UTC (rev 81809)
@@ -28,6 +28,7 @@
 import org.jboss.ejb3.EJBContainer;
 import org.jboss.ejb3.EJBContainerInvocation;
 import org.jboss.ejb3.aop.AbstractInterceptor;
+import org.jboss.jca.spi.ComponentStack;
 import org.jboss.logging.Logger;
 
 /**
@@ -48,21 +49,21 @@
    {
       EJBContainerInvocation<EJBContainer, BeanContext<?>> containerInvocation = (EJBContainerInvocation<EJBContainer, BeanContext<?>>) invocation;
       EJBContainer container = getEJBContainer(invocation);
-      CachedConnectionManager ccm = container.getCachedConnectionManager();
+      ComponentStack ccm = container.getCachedConnectionManager();
       if(ccm == null)
       {
          log.warn("EJBTHREE-1028: No ejb3 CachedConnectionManager installed");
          return containerInvocation.invokeNext();
       }
       Object key = containerInvocation.getBeanContext().getInstance();
-      ccm.pushMetaDataAwareObject(key, unsharableResources);
+      ccm.pushMetaAwareObject(key, unsharableResources);
       try
       {
          return containerInvocation.invokeNext();
       }
       finally
       {
-         ccm.popMetaDataAwareObject(unsharableResources);
+         ccm.popMetaAwareObject(unsharableResources);
       }
    }
 }

Deleted: projects/ejb3/trunk/core/src/main/java/org/jboss/ejb3/connectionmanager/CachedConnectionManager.java
===================================================================
--- projects/ejb3/trunk/core/src/main/java/org/jboss/ejb3/connectionmanager/CachedConnectionManager.java	2008-11-29 15:28:47 UTC (rev 81808)
+++ projects/ejb3/trunk/core/src/main/java/org/jboss/ejb3/connectionmanager/CachedConnectionManager.java	2008-11-29 16:49:40 UTC (rev 81809)
@@ -1,46 +0,0 @@
-/*
- * JBoss, Home of Professional Open Source.
- * Copyright 2008, Red Hat Middleware LLC, and individual contributors
- * as indicated by the @author tags. See the copyright.txt file in the
- * distribution for a full listing of individual contributors.
- *
- * This is free software; you can redistribute it and/or modify it
- * under the terms of the GNU Lesser General Public License as
- * published by the Free Software Foundation; either version 2.1 of
- * the License, or (at your option) any later version.
- *
- * This software is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this software; if not, write to the Free
- * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
- * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
- */
-package org.jboss.ejb3.connectionmanager;
-
-import java.util.Set;
-
-import javax.resource.ResourceException;
-
-/**
- * @author <a href="mailto:cdewolf at redhat.com">Carlo de Wolf</a>
- * @version $Revision: $
- */
-public interface CachedConnectionManager
-{
-
-   /**
-    * @param key
-    * @param unsharableResources
-    */
-   void pushMetaDataAwareObject(Object key, Set<String> unsharableResources) throws ResourceException;
-
-   /**
-    * @param unsharableResources
-    */
-   void popMetaDataAwareObject(Set<String> unsharableResources) throws ResourceException;
-
-}

Modified: projects/ejb3/trunk/core/src/main/resources/ejb3-container-jboss-beans.xml
===================================================================
--- projects/ejb3/trunk/core/src/main/resources/ejb3-container-jboss-beans.xml	2008-11-29 15:28:47 UTC (rev 81808)
+++ projects/ejb3/trunk/core/src/main/resources/ejb3-container-jboss-beans.xml	2008-11-29 16:49:40 UTC (rev 81809)
@@ -5,7 +5,4 @@
       <depends>UserTransactionRegistry</depends>
       <constructor factoryClass="org.jboss.ejb3.tx.EJB3UserTransactionProvider" factoryMethod="getSingleton"/>
    </bean>
-   
-   <bean name="EJB3CachedConnectionManagerBridge" class="org.jboss.as.ejb3.connectionmanager.CachedConnectionManagerBridge">
-   </bean>
 </deployment>

Modified: projects/ejb3/trunk/core/src/test/java/org/jboss/ejb3/core/test/common/MockCachedConnectionManager.java
===================================================================
--- projects/ejb3/trunk/core/src/test/java/org/jboss/ejb3/core/test/common/MockCachedConnectionManager.java	2008-11-29 15:28:47 UTC (rev 81808)
+++ projects/ejb3/trunk/core/src/test/java/org/jboss/ejb3/core/test/common/MockCachedConnectionManager.java	2008-11-29 16:49:40 UTC (rev 81809)
@@ -25,19 +25,21 @@
 
 import javax.resource.ResourceException;
 
-import org.jboss.ejb3.connectionmanager.CachedConnectionManager;
+import org.jboss.jca.spi.ComponentStack;
 
 /**
  * @author <a href="mailto:cdewolf at redhat.com">Carlo de Wolf</a>
  * @version $Revision: $
  */
-public class MockCachedConnectionManager implements CachedConnectionManager
+public class MockCachedConnectionManager implements ComponentStack
 {
-   public void popMetaDataAwareObject(Set<String> unsharableResources) throws ResourceException
+   @SuppressWarnings("unchecked")
+   public void popMetaAwareObject(Set unsharableResources) throws ResourceException
    {
    }
 
-   public void pushMetaDataAwareObject(Object key, Set<String> unsharableResources) throws ResourceException
+   @SuppressWarnings("unchecked")
+   public void pushMetaAwareObject(Object key, Set unsharableResources) throws ResourceException
    {
    }
 }

Modified: projects/ejb3/trunk/core/src/test/java/org/jboss/ejb3/core/test/common/SimpleTransactionService.java
===================================================================
--- projects/ejb3/trunk/core/src/test/java/org/jboss/ejb3/core/test/common/SimpleTransactionService.java	2008-11-29 15:28:47 UTC (rev 81808)
+++ projects/ejb3/trunk/core/src/test/java/org/jboss/ejb3/core/test/common/SimpleTransactionService.java	2008-11-29 16:49:40 UTC (rev 81809)
@@ -23,6 +23,7 @@
 
 import javax.naming.InitialContext;
 import javax.naming.NamingException;
+import javax.transaction.TransactionManager;
 
 import com.arjuna.ats.jta.utils.JNDIManager;
 
@@ -36,14 +37,25 @@
  */
 public class SimpleTransactionService
 {
+   private static final String TM_JNDI_NAME = "java:/TransactionManager";
+   private InitialContext ctx;
+   private TransactionManager tm;
+
+   public TransactionManager getTransactionManager()
+   {
+      return tm;
+   }
+   
    public void start() throws Exception
    {
+      ctx = new InitialContext();
       JNDIManager.bindJTAImplementation();
+      this.tm = (TransactionManager) ctx.lookup(TM_JNDI_NAME);
    }
    
    public void stop() throws NamingException
    {
-      InitialContext ctx = new InitialContext();
-      ctx.unbind("java:/TransactionManager");
+      ctx.unbind(TM_JNDI_NAME);
+      ctx.close();
    }
 }

Modified: projects/ejb3/trunk/core/src/test/resources/container-beans.xml
===================================================================
--- projects/ejb3/trunk/core/src/test/resources/container-beans.xml	2008-11-29 15:28:47 UTC (rev 81808)
+++ projects/ejb3/trunk/core/src/test/resources/container-beans.xml	2008-11-29 16:49:40 UTC (rev 81809)
@@ -6,6 +6,6 @@
       <constructor factoryClass="org.jboss.ejb3.tx.EJB3UserTransactionProvider" factoryMethod="getSingleton"/>
    </bean>
    
-   <bean name="TestCachedConnectionManagerBridge" class="org.jboss.ejb3.core.test.common.MockCachedConnectionManager">
+   <bean name="MockConnectionManager" class="org.jboss.ejb3.core.test.common.MockCachedConnectionManager">
    </bean>
 </deployment>

Modified: projects/ejb3/trunk/core/src/test/resources/transactionmanager-beans.xml
===================================================================
--- projects/ejb3/trunk/core/src/test/resources/transactionmanager-beans.xml	2008-11-29 15:28:47 UTC (rev 81808)
+++ projects/ejb3/trunk/core/src/test/resources/transactionmanager-beans.xml	2008-11-29 16:49:40 UTC (rev 81809)
@@ -4,4 +4,10 @@
    <bean name="TransactionManager" class="org.jboss.ejb3.core.test.common.SimpleTransactionService">
       <depends>NamingServer</depends>
    </bean>
+   
+   <bean name="RealTransactionManager">
+      <constructor factoryMethod="getTransactionManager">
+         <factory bean="TransactionManager"/>
+      </constructor>
+   </bean>
 </deployment>
\ No newline at end of file




More information about the jboss-cvs-commits mailing list