[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