[jboss-cvs] JBossAS SVN: r60065 - trunk/ejb3/src/test/org/jboss/ejb3/test/clusteredsession/unit.
jboss-cvs-commits at lists.jboss.org
jboss-cvs-commits at lists.jboss.org
Sat Jan 27 18:05:44 EST 2007
Author: bstansberry at jboss.com
Date: 2007-01-27 18:05:44 -0500 (Sat, 27 Jan 2007)
New Revision: 60065
Modified:
trunk/ejb3/src/test/org/jboss/ejb3/test/clusteredsession/unit/ExtendedPersistenceUnitTestCase.java
Log:
Ensure SFSB and SLSB are in same VM; otherwise SLSB cannot accurate read static fields in SFSB classes
Use a shared db since this is a clustered test
Modified: trunk/ejb3/src/test/org/jboss/ejb3/test/clusteredsession/unit/ExtendedPersistenceUnitTestCase.java
===================================================================
--- trunk/ejb3/src/test/org/jboss/ejb3/test/clusteredsession/unit/ExtendedPersistenceUnitTestCase.java 2007-01-27 23:03:13 UTC (rev 60064)
+++ trunk/ejb3/src/test/org/jboss/ejb3/test/clusteredsession/unit/ExtendedPersistenceUnitTestCase.java 2007-01-27 23:05:44 UTC (rev 60065)
@@ -21,14 +21,19 @@
*/
package org.jboss.ejb3.test.clusteredsession.unit;
+import org.jboss.ejb3.test.clusteredentity.unit.DBSetup;
import org.jboss.ejb3.test.clusteredsession.Customer;
+import org.jboss.ejb3.test.clusteredsession.NodeAnswer;
import org.jboss.ejb3.test.clusteredsession.ShoppingCart;
import org.jboss.ejb3.test.clusteredsession.StatelessRemote;
import org.jboss.test.JBossClusteredTestCase;
import junit.framework.Test;
+import junit.framework.TestSuite;
import javax.naming.InitialContext;
import javax.naming.Context;
+
+import java.rmi.dgc.VMID;
import java.util.Properties;
/**
@@ -94,10 +99,26 @@
public void testPassivation() throws Exception
{
- ShoppingCart cart = (ShoppingCart) getInitialContext(0).lookup("ShoppingCartBean/remote");
+ // We want a colocated SLSB and SFSB to test passivation/destruction
+ // StatelessRemoteBean is not clustered, so once we have it's VMID
+ // we can keep creating SFSBs until we get one we want
StatelessRemote stateless = (StatelessRemote) getInitialContext(0).lookup("StatelessSessionBean/remote");
+ VMID statelessVM = stateless.getVMID();
+
+ ShoppingCart cart = null;
+ boolean vmMatch = false;
+ for (int i = 0; i < 10 && !vmMatch; i++)
+ {
+ cart = (ShoppingCart) getInitialContext(0).lookup("ShoppingCartBean/remote");
+ vmMatch = statelessVM.equals(cart.getVMID());
+ if (!vmMatch)
+ cart.checkout();
+ }
+
+ assertTrue("SLSB and SFSB in same VM", vmMatch);
+
Customer customer;
-
+
long id = cart.createCustomer();
customer = stateless.find(id);
assertEquals("William", customer.getName());
@@ -119,22 +140,31 @@
customer = cart.find(id);
assertEquals("Bill Jr.", customer.getName());
cart.setContainedCustomer();
- Thread.sleep(11000); // passivation
- assertTrue(stateless.isPassivated());
+
+ Thread.sleep(11000); // passivation
+ assertTrue("Contained bean was passivated", stateless.isPassivated());
+
cart.checkContainedCustomer();
cart.findAndUpdateStateless();
cart.updateContained();
+
stateless.clearDestroyed();
- assertTrue(cart.isContainedActivated());
+ assertTrue(cart.isContainedActivated());
cart.checkout();
- assertTrue(stateless.isDestroyed());
+ assertTrue("Contained bean was destroyed", stateless.isDestroyed());
}
public static Test suite() throws Exception
{
- final String jarName = "clusteredsession-test.jar";
- return JBossClusteredTestCase.getDeploySetup(ExtendedPersistenceUnitTestCase.class,
- jarName);
+ TestSuite suite = new TestSuite();
+ Test t1 = getDeploySetup(ExtendedPersistenceUnitTestCase.class,
+ "clusteredsession-test.jar");
+
+ suite.addTest(t1);
+
+ // Create an initializer for the test suite
+ DBSetup wrapper = new DBSetup(suite);
+ return wrapper;
}
}
More information about the jboss-cvs-commits
mailing list