[jboss-cvs] JBossAS SVN: r67126 - in trunk/ejb3: src/main/org/jboss/ejb3 and 6 other directories.

jboss-cvs-commits at lists.jboss.org jboss-cvs-commits at lists.jboss.org
Thu Nov 15 06:45:43 EST 2007


Author: adrian at jboss.org
Date: 2007-11-15 06:45:42 -0500 (Thu, 15 Nov 2007)
New Revision: 67126

Modified:
   trunk/ejb3/build-test.xml
   trunk/ejb3/src/main/org/jboss/ejb3/EJBContainer.java
   trunk/ejb3/src/main/org/jboss/ejb3/Ejb3Deployment.java
   trunk/ejb3/src/main/org/jboss/ejb3/cache/CacheFactoryRegistry.java
   trunk/ejb3/src/main/org/jboss/ejb3/deployers/Ejb3Deployer.java
   trunk/ejb3/src/main/org/jboss/ejb3/pool/PoolFactoryRegistry.java
   trunk/ejb3/src/main/org/jboss/ejb3/stateful/StatefulContainer.java
   trunk/ejb3/src/test/org/jboss/ejb3/test/cachepassivation/MockEjb3Deployment.java
   trunk/ejb3/src/test/org/jboss/ejb3/test/cachepassivation/unit/CachePassivationUnitTestCase.java
Log:
[EJBTHREE-1114] - Make the cache passivation test work and the new Pool/Cache registries usable programmatically

Modified: trunk/ejb3/build-test.xml
===================================================================
--- trunk/ejb3/build-test.xml	2007-11-15 11:36:19 UTC (rev 67125)
+++ trunk/ejb3/build-test.xml	2007-11-15 11:45:42 UTC (rev 67126)
@@ -272,6 +272,10 @@
 	  <pathelement path="${jboss.dist}/lib/jboss-vfs.jar"/>
       <path refid="jboss.microcontainer.classpath"/>
       <path refid="jboss.metadata.classpath"/>
+
+      <!-- FIXME For cache passivation test -->
+      <path refid="jboss.cache.classpath"/>
+      <path refid="jboss.cluster.classpath"/>
    </path>
 
    <!-- The "security" test needs JaasSecurityManagerServiceMBean -->

Modified: trunk/ejb3/src/main/org/jboss/ejb3/EJBContainer.java
===================================================================
--- trunk/ejb3/src/main/org/jboss/ejb3/EJBContainer.java	2007-11-15 11:36:19 UTC (rev 67125)
+++ trunk/ejb3/src/main/org/jboss/ejb3/EJBContainer.java	2007-11-15 11:45:42 UTC (rev 67126)
@@ -64,6 +64,7 @@
 import org.jboss.aop.annotation.AnnotationElement;
 import org.jboss.aop.joinpoint.ConstructorInvocation;
 import org.jboss.aop.util.MethodHashing;
+import org.jboss.ejb3.deployers.Ejb3Deployer;
 import org.jboss.ejb3.deployers.JBoss5DependencyPolicy;
 import org.jboss.ejb3.entity.PersistenceUnitDeployment;
 import org.jboss.ejb3.interceptor.InterceptorInfo;
@@ -74,6 +75,8 @@
 import org.jboss.ejb3.javaee.JavaEEComponentHelper;
 import org.jboss.ejb3.javaee.JavaEEModule;
 import org.jboss.ejb3.pool.Pool;
+import org.jboss.ejb3.pool.PoolFactory;
+import org.jboss.ejb3.pool.PoolFactoryRegistry;
 import org.jboss.ejb3.security.JaccHelper;
 import org.jboss.ejb3.security.SecurityDomainManager;
 import org.jboss.ejb3.statistics.InvocationStatistics;
@@ -801,7 +804,10 @@
       String registeredPoolName = poolAnnotation.value();
       int maxSize = poolAnnotation.maxSize();
       long timeout = poolAnnotation.timeout();
-      pool = this.deployment.getDeployer().getPoolFactoryRegistry().getPoolFactory(registeredPoolName).createPool();
+      Ejb3Deployer deployer = deployment.getDeployer();
+      PoolFactoryRegistry<? extends PoolFactory<? extends Pool>> registry = deployer.getPoolFactoryRegistry();
+      PoolFactory<? extends Pool> factory = registry.getPoolFactory(registeredPoolName);
+      pool = factory.createPool();
       pool.initialize(this, maxSize, timeout);
 
       resolveInjectors();

Modified: trunk/ejb3/src/main/org/jboss/ejb3/Ejb3Deployment.java
===================================================================
--- trunk/ejb3/src/main/org/jboss/ejb3/Ejb3Deployment.java	2007-11-15 11:36:19 UTC (rev 67125)
+++ trunk/ejb3/src/main/org/jboss/ejb3/Ejb3Deployment.java	2007-11-15 11:45:42 UTC (rev 67126)
@@ -174,7 +174,7 @@
       return this.deployer;
    }
    
-   public CacheFactoryRegistry<Ejb3CacheFactory<StatefulCache>> getCacheFactoryRegistry()
+   public CacheFactoryRegistry<? extends Ejb3CacheFactory<? extends StatefulCache>> getCacheFactoryRegistry()
    {
       return this.getDeployer().getCacheFactoryRegistry();
    }

Modified: trunk/ejb3/src/main/org/jboss/ejb3/cache/CacheFactoryRegistry.java
===================================================================
--- trunk/ejb3/src/main/org/jboss/ejb3/cache/CacheFactoryRegistry.java	2007-11-15 11:36:19 UTC (rev 67125)
+++ trunk/ejb3/src/main/org/jboss/ejb3/cache/CacheFactoryRegistry.java	2007-11-15 11:45:42 UTC (rev 67126)
@@ -32,19 +32,19 @@
  * @author <a href="mailto:andrew.rubinger at redhat.com">ALR</a>
  * @version $Revision: $
  */
-public class CacheFactoryRegistry<T extends Ejb3CacheFactory<StatefulCache>>
+public class CacheFactoryRegistry<T extends Ejb3CacheFactory<? extends StatefulCache>>
 {
    // Instance Members
-   private Map<String, Class<T>> factories;
+   private Map<String, Class<? extends T>> factories;
 
    // Accessors / Mutators
    
-   public Map<String, Class<T>> getFactories()
+   public Map<String, Class<? extends T>> getFactories()
    {
       return factories;
    }
 
-   public void setFactories(Map<String, Class<T>> factories)
+   public void setFactories(Map<String, Class<? extends T>> factories)
    {
       this.factories = factories;
    }
@@ -60,7 +60,7 @@
    public T getCacheFactory(String name) throws CacheFactoryNotRegisteredException
    {
       // Obtain cache factory
-      Class<T> cacheFactory = this.factories.get(name);
+      Class<? extends T> cacheFactory = this.factories.get(name);
 
       // Ensure registered
       if (cacheFactory == null)

Modified: trunk/ejb3/src/main/org/jboss/ejb3/deployers/Ejb3Deployer.java
===================================================================
--- trunk/ejb3/src/main/org/jboss/ejb3/deployers/Ejb3Deployer.java	2007-11-15 11:36:19 UTC (rev 67125)
+++ trunk/ejb3/src/main/org/jboss/ejb3/deployers/Ejb3Deployer.java	2007-11-15 11:45:42 UTC (rev 67126)
@@ -64,9 +64,9 @@
    
    private MBeanServer mbeanServer;
    
-   private CacheFactoryRegistry<Ejb3CacheFactory<StatefulCache>> cacheFactoryRegistry;
+   private CacheFactoryRegistry<? extends Ejb3CacheFactory<? extends StatefulCache>> cacheFactoryRegistry;
    
-   private PoolFactoryRegistry<PoolFactory<Pool>> poolFactoryRegistry;
+   private PoolFactoryRegistry<? extends PoolFactory<? extends Pool>> poolFactoryRegistry;
    
    public Ejb3Deployer()
    {
@@ -157,22 +157,22 @@
       return allowedSuffixes;
    }
    
-   public CacheFactoryRegistry<Ejb3CacheFactory<StatefulCache>> getCacheFactoryRegistry()
+   public CacheFactoryRegistry<? extends Ejb3CacheFactory<? extends StatefulCache>> getCacheFactoryRegistry()
    {
       return cacheFactoryRegistry;
    }
    
-   public void setCacheFactoryRegistry(CacheFactoryRegistry<Ejb3CacheFactory<StatefulCache>> cacheFactoryRegistry)
+   public void setCacheFactoryRegistry(CacheFactoryRegistry<? extends Ejb3CacheFactory<? extends StatefulCache>> cacheFactoryRegistry)
    {
       this.cacheFactoryRegistry = cacheFactoryRegistry;
    }
 
-   public PoolFactoryRegistry<PoolFactory<Pool>> getPoolFactoryRegistry()
+   public PoolFactoryRegistry<? extends PoolFactory<? extends Pool>> getPoolFactoryRegistry()
    {
       return poolFactoryRegistry;
    }
 
-   public void setPoolFactoryRegistry(PoolFactoryRegistry<PoolFactory<Pool>> poolFactoryRegistry)
+   public void setPoolFactoryRegistry(PoolFactoryRegistry<? extends PoolFactory<? extends Pool>> poolFactoryRegistry)
    {
       this.poolFactoryRegistry = poolFactoryRegistry;
    }

Modified: trunk/ejb3/src/main/org/jboss/ejb3/pool/PoolFactoryRegistry.java
===================================================================
--- trunk/ejb3/src/main/org/jboss/ejb3/pool/PoolFactoryRegistry.java	2007-11-15 11:36:19 UTC (rev 67125)
+++ trunk/ejb3/src/main/org/jboss/ejb3/pool/PoolFactoryRegistry.java	2007-11-15 11:45:42 UTC (rev 67126)
@@ -30,19 +30,19 @@
  * @author <a href="mailto:andrew.rubinger at redhat.com">ALR</a>
  * @version $Revision: $
  */
-public class PoolFactoryRegistry<T extends PoolFactory<Pool>>
+public class PoolFactoryRegistry<T extends PoolFactory<? extends Pool>>
 {
    // Instance Members
-   private Map<String, Class<T>> factories;
+   private Map<String, Class<? extends T>> factories;
 
    // Accessors / Mutators
 
-   public Map<String, Class<T>> getFactories()
+   public Map<String, Class<? extends T>> getFactories()
    {
       return factories;
    }
 
-   public void setFactories(Map<String, Class<T>> factories)
+   public void setFactories(Map<String, Class<? extends T>> factories)
    {
       this.factories = factories;
    }
@@ -58,7 +58,7 @@
    public T getPoolFactory(String name) throws PoolFactoryNotRegisteredException
    {
       // Obtain cache factory
-      Class<T> poolFactory = this.factories.get(name);
+      Class<? extends T> poolFactory = this.factories.get(name);
 
       // Ensure registered
       if (poolFactory == null)

Modified: trunk/ejb3/src/main/org/jboss/ejb3/stateful/StatefulContainer.java
===================================================================
--- trunk/ejb3/src/main/org/jboss/ejb3/stateful/StatefulContainer.java	2007-11-15 11:36:19 UTC (rev 67125)
+++ trunk/ejb3/src/main/org/jboss/ejb3/stateful/StatefulContainer.java	2007-11-15 11:45:42 UTC (rev 67126)
@@ -51,6 +51,7 @@
 import org.jboss.aop.joinpoint.InvocationResponse;
 import org.jboss.aop.util.MethodHashing;
 import org.jboss.aspects.asynch.FutureHolder;
+import org.jboss.cache.CacheFactory;
 import org.jboss.ejb3.BeanContext;
 import org.jboss.ejb3.EJBContainerInvocation;
 import org.jboss.ejb3.Ejb3Deployment;
@@ -139,7 +140,9 @@
       {
          super.start();
          Cache cacheConfig = getAnnotation(Cache.class);
-         cache = this.getCacheFactoryRegistry().getCacheFactory(cacheConfig.value()).createCache();
+         CacheFactoryRegistry<? extends Ejb3CacheFactory<? extends StatefulCache>> registry = getCacheFactoryRegistry();
+         Ejb3CacheFactory<? extends StatefulCache> factory = registry.getCacheFactory(cacheConfig.value());
+         cache = factory.createCache();
          cache.initialize(this);
          cache.start();
       }
@@ -169,7 +172,7 @@
       return cache;
    }
    
-   public CacheFactoryRegistry<Ejb3CacheFactory<StatefulCache>> getCacheFactoryRegistry()
+   public CacheFactoryRegistry<? extends Ejb3CacheFactory<? extends StatefulCache>> getCacheFactoryRegistry()
    {
       return this.getDeployment().getCacheFactoryRegistry();
    }

Modified: trunk/ejb3/src/test/org/jboss/ejb3/test/cachepassivation/MockEjb3Deployment.java
===================================================================
--- trunk/ejb3/src/test/org/jboss/ejb3/test/cachepassivation/MockEjb3Deployment.java	2007-11-15 11:36:19 UTC (rev 67125)
+++ trunk/ejb3/src/test/org/jboss/ejb3/test/cachepassivation/MockEjb3Deployment.java	2007-11-15 11:45:42 UTC (rev 67126)
@@ -21,14 +21,29 @@
  */
 package org.jboss.ejb3.test.cachepassivation;
 
+import java.util.HashMap;
+
 import javax.security.jacc.PolicyConfiguration;
 
 import org.jboss.ejb3.DependencyPolicy;
 import org.jboss.ejb3.DeploymentScope;
 import org.jboss.ejb3.DeploymentUnit;
 import org.jboss.ejb3.Ejb3Deployment;
+import org.jboss.ejb3.cache.CacheFactoryRegistry;
+import org.jboss.ejb3.cache.Ejb3CacheFactory;
+import org.jboss.ejb3.cache.NoPassivationCache;
+import org.jboss.ejb3.cache.NoPassivationCacheFactory;
+import org.jboss.ejb3.cache.StatefulCache;
+import org.jboss.ejb3.cache.simple.SimpleStatefulCacheFactory;
+import org.jboss.ejb3.cache.tree.StatefulTreeCacheFactory;
+import org.jboss.ejb3.deployers.Ejb3Deployer;
 import org.jboss.ejb3.deployers.JBoss5DependencyPolicy;
 import org.jboss.ejb3.javaee.JavaEEComponent;
+import org.jboss.ejb3.pool.Pool;
+import org.jboss.ejb3.pool.PoolFactory;
+import org.jboss.ejb3.pool.PoolFactoryRegistry;
+import org.jboss.ejb3.pool.StrictMaxPoolFactory;
+import org.jboss.ejb3.pool.ThreadlocalPoolFactory;
 
 /**
  * Comment
@@ -38,13 +53,33 @@
  */
 public class MockEjb3Deployment extends Ejb3Deployment
 {
-
+   private Ejb3Deployer deployer = new Ejb3Deployer();
+   
    public MockEjb3Deployment(DeploymentUnit unit, DeploymentScope deploymentScope)
    {
       super(unit, deploymentScope, null, null);
+      PoolFactoryRegistry<PoolFactory<? extends Pool>> poolRegistry = new PoolFactoryRegistry<PoolFactory<? extends Pool>>();
+      HashMap<String, Class<? extends PoolFactory<? extends Pool>>> poolFactories = new HashMap<String, Class<? extends PoolFactory<? extends Pool>>>();
+      poolFactories.put("ThreadlocalPool", ThreadlocalPoolFactory.class);
+      poolFactories.put("StrictMaxPool", StrictMaxPoolFactory.class);
+      poolRegistry.setFactories(poolFactories);
+      deployer.setPoolFactoryRegistry(poolRegistry);
+      CacheFactoryRegistry<Ejb3CacheFactory<? extends StatefulCache>> cacheRegistry = new CacheFactoryRegistry<Ejb3CacheFactory<? extends StatefulCache>>();
+      HashMap<String, Class<? extends Ejb3CacheFactory<? extends StatefulCache>>> cacheFactories = new HashMap<String, Class<? extends Ejb3CacheFactory<? extends StatefulCache>>>();
+      cacheFactories.put("NoPassivationCache", NoPassivationCacheFactory.class);
+      cacheFactories.put("SimpleStatefulCache", SimpleStatefulCacheFactory.class);
+      cacheFactories.put("StatefulTreeCache", StatefulTreeCacheFactory.class);
+      cacheRegistry.setFactories(cacheFactories);
+      deployer.setCacheFactoryRegistry(cacheRegistry);
    }
 
    @Override
+   public Ejb3Deployer getDeployer()
+   {
+      return deployer;
+   }
+
+   @Override
    public DependencyPolicy createDependencyPolicy(JavaEEComponent component)
    {
       return new JBoss5DependencyPolicy(component);

Modified: trunk/ejb3/src/test/org/jboss/ejb3/test/cachepassivation/unit/CachePassivationUnitTestCase.java
===================================================================
--- trunk/ejb3/src/test/org/jboss/ejb3/test/cachepassivation/unit/CachePassivationUnitTestCase.java	2007-11-15 11:36:19 UTC (rev 67125)
+++ trunk/ejb3/src/test/org/jboss/ejb3/test/cachepassivation/unit/CachePassivationUnitTestCase.java	2007-11-15 11:45:42 UTC (rev 67126)
@@ -23,7 +23,10 @@
 
 import java.util.Hashtable;
 
+import javax.naming.InitialContext;
+
 import org.jboss.aop.AspectManager;
+import org.jboss.cache.transaction.DummyTransactionManager;
 import org.jboss.ejb3.Ejb3Deployment;
 import org.jboss.ejb3.Ejb3Registry;
 import org.jboss.ejb3.cache.simple.StatefulSessionFilePersistenceManager;
@@ -61,6 +64,10 @@
       initializer.setInitialContextProperties(ctxProperties);
       initializer.start();
       
+      DummyTransactionManager tm = new DummyTransactionManager();
+      InitialContext ic = new InitialContext(ctxProperties);
+      ic.bind("java:/TransactionManager", tm);
+      
       ClassLoader cl = Thread.currentThread().getContextClassLoader();
       String beanClassName = MockBean.class.getName();
       String ejbName = "MockBean";




More information about the jboss-cvs-commits mailing list