[jboss-cvs] JBossAS SVN: r59018 - branches/Branch_4_0/testsuite/src/main/org/jboss/test/scoped/test
jboss-cvs-commits at lists.jboss.org
jboss-cvs-commits at lists.jboss.org
Wed Dec 13 16:14:04 EST 2006
Author: tom.elrod at jboss.com
Date: 2006-12-13 16:14:03 -0500 (Wed, 13 Dec 2006)
New Revision: 59018
Added:
branches/Branch_4_0/testsuite/src/main/org/jboss/test/scoped/test/ScopedBUnitTestCase.java
Modified:
branches/Branch_4_0/testsuite/src/main/org/jboss/test/scoped/test/ScopedUnitTestCase.java
Log:
JBAS-3198 - fix for pooled invoker scoped deployments class caching.
Added: branches/Branch_4_0/testsuite/src/main/org/jboss/test/scoped/test/ScopedBUnitTestCase.java
===================================================================
--- branches/Branch_4_0/testsuite/src/main/org/jboss/test/scoped/test/ScopedBUnitTestCase.java 2006-12-13 18:16:51 UTC (rev 59017)
+++ branches/Branch_4_0/testsuite/src/main/org/jboss/test/scoped/test/ScopedBUnitTestCase.java 2006-12-13 21:14:03 UTC (rev 59018)
@@ -0,0 +1,128 @@
+package org.jboss.test.scoped.test;
+
+import org.jboss.test.JBossTestCase;
+import org.jboss.test.scoped.interfaces.a.SessionAHome;
+import org.jboss.test.scoped.interfaces.a.SessionA;
+import org.jboss.test.scoped.interfaces.dto.SimpleRequestDTO;
+import org.jboss.test.scoped.interfaces.dto.SimpleResponseDTO;
+import org.jboss.test.scoped.interfaces.b.SessionBHome;
+import org.jboss.test.scoped.interfaces.b.SessionB;
+import org.jboss.deployment.EARDeployerMBean;
+
+import java.io.File;
+
+import javassist.ClassPool;
+import javassist.CtClass;
+import javassist.CtField;
+import javassist.Modifier;
+
+import javax.management.Attribute;
+
+/**
+ * @author <a href="mailto:tom at jboss.org">Tom Elrod</a>
+ */
+public class ScopedBUnitTestCase extends JBossTestCase
+{
+ public ScopedBUnitTestCase(String name)
+ {
+ super(name);
+ }
+
+ public void testScoped() throws Exception
+ {
+ isolateDeployments(Boolean.TRUE);
+
+ // scoped deployment B
+
+ // have to create response classes with different serialVersionUID for each deployment
+ String jbosstestDeployDir = System.getProperty("jbosstest.deploy.dir");
+ System.out.println("jbosstestDeployDir = " + jbosstestDeployDir);
+ String deployADir = "/scopedA.ear/scopedB.jar";
+ File libDir = new File(jbosstestDeployDir, deployADir);
+ System.out.println("libDir = " + libDir.getAbsolutePath());
+ // Create a SimpleResponseDTO class with a static serialVersionUID of 1L
+ //ClassPool defaultPool = ClassPool.getDefault();
+ ClassPool classes1Pool = ClassPool.getDefault();
+ //ClassPool classes1Pool = new ClassPool(defaultPool);
+ CtClass info = classes1Pool.makeClass("org.jboss.test.scoped.interfaces.dto.SimpleResponseDTO");
+ CtClass s = classes1Pool.get("java.lang.String");
+ CtField firstName = new CtField(s, "firstName", info);
+ firstName.setModifiers(Modifier.PUBLIC);
+ CtClass s2 = classes1Pool.get("java.lang.String");
+ CtField lastName = new CtField(s2, "lastName", info);
+ lastName.setModifiers(Modifier.PUBLIC);
+ CtClass s3 = classes1Pool.get("java.lang.Long");
+ CtField serialVersion = new CtField(s3, "serialVersionUID", info);
+ serialVersion.setModifiers(Modifier.PUBLIC | Modifier.STATIC);
+ long serialVerionUID = 2L;
+ info.addField(serialVersion, CtField.Initializer.constant(serialVerionUID));
+
+ info.writeFile(libDir.getAbsolutePath());
+
+ try
+ {
+// deploy("scopedA.ear");
+ try
+ {
+ // Run the test
+ deploy("scopedB.ear");
+ try
+ {
+ doTest();
+ }
+ finally
+ {
+ undeploy("scopedB.ear");
+ }
+
+ // Run the test after a redeployment
+// deploy("scopedB.ear");
+// try x
+// {
+// doTest();
+// }
+// finally
+// {
+// undeploy("scopedB.ear");
+// }
+ }
+ finally
+ {
+ //undeploy("scopedA.ear");
+ }
+ }
+ finally
+ {
+ isolateDeployments(Boolean.FALSE);
+ }
+ }
+
+ private void doTest() throws Exception
+ {
+// Properties env = new Properties();
+// env.put("java.naming.factory.initial", "org.jnp.interfaces.NamingContextFactory");
+// //env.put("java.naming.provider.url", "localhost:1099");
+// env.put("java.naming.provider.url", "localhost:1100");
+// env.put("java.naming.factory.url.pkgs", "org.jboss.naming:org.jnp.interfaces");
+//
+// Context ic = new InitialContext(env);
+
+ SessionBHome home = (SessionBHome) getInitialContext().lookup("SessionB");
+ SessionB session = home.create();
+
+
+ SimpleRequestDTO requestDTO = new SimpleRequestDTO();
+ requestDTO.setFirstName("Daffy");
+ requestDTO.setLastName("Duck");
+ SimpleResponseDTO result = session.runSimpleTest(requestDTO);
+
+ System.out.println(result.getFirstName() + " " + result.getLastName());
+
+ }
+
+ private void isolateDeployments(Boolean value) throws Exception
+ {
+ //getServer().setAttribute(EARDeployerMBean.OBJECT_NAME, new Attribute("Isolated", value));
+ getServer().setAttribute(EARDeployerMBean.OBJECT_NAME, new Attribute("CallByValue", value));
+ }
+}
Modified: branches/Branch_4_0/testsuite/src/main/org/jboss/test/scoped/test/ScopedUnitTestCase.java
===================================================================
--- branches/Branch_4_0/testsuite/src/main/org/jboss/test/scoped/test/ScopedUnitTestCase.java 2006-12-13 18:16:51 UTC (rev 59017)
+++ branches/Branch_4_0/testsuite/src/main/org/jboss/test/scoped/test/ScopedUnitTestCase.java 2006-12-13 21:14:03 UTC (rev 59018)
@@ -92,38 +92,13 @@
info.writeFile(libDir.getAbsolutePath());
- // scoped deployment B
-
- String deployADirB = "/scopedB.ear/scopedB.jar";
- File libDirB = new File(jbosstestDeployDir, deployADirB);
- System.out.println("libDirB = " + libDirB.getAbsolutePath());
- // Create a SimpleResponseDTO class with a static serialVersionUID of 1L
- //ClassPool defaultPool = ClassPool.getDefault();
- ClassPool classes1PoolB = ClassPool.getDefault();
- //ClassPool classes1Pool = new ClassPool(defaultPool);
- CtClass infoB = classes1PoolB.makeClass("org.jboss.test.scoped.interfaces.dto.SimpleResponseDTO");
- CtClass sB = classes1PoolB.get("java.lang.String");
- CtField firstNameB = new CtField(sB, "firstName", infoB);
- firstNameB.setModifiers(Modifier.PUBLIC);
- CtClass s2B = classes1PoolB.get("java.lang.String");
- CtField lastNameB = new CtField(s2B, "lastName", infoB);
- lastNameB.setModifiers(Modifier.PUBLIC);
- CtClass s3B = classes1PoolB.get("java.lang.Long");
- CtField serialVersionB = new CtField(s3B, "serialVersionUID", infoB);
- serialVersionB.setModifiers(Modifier.PUBLIC | Modifier.STATIC);
- long serialVerionUIDB = 2L;
- infoB.addField(serialVersionB, CtField.Initializer.constant(serialVerionUIDB));
-
- infoB.writeFile(libDirB.getAbsolutePath());
-
-
try
{
deploy("scopedA.ear");
try
{
// Run the test
- deploy("scopedB.ear");
+// deploy("scopedB.ear");
try
{
doTest();
@@ -146,7 +121,7 @@
}
finally
{
- //undeploy("scopedA.ear");
+ undeploy("scopedA.ear");
}
}
finally
@@ -176,15 +151,6 @@
System.out.println(result.getFirstName() + " " + result.getLastName());
- SessionBHome homeB = (SessionBHome)getInitialContext().lookup("SessionB");
- SessionB sessionB = homeB.create();
-
- result = sessionB.runSimpleTest(requestDTO);
-
- System.out.println(result.getFirstName() + " " + result.getLastName());
-
-
-
}
private void isolateDeployments(Boolean value) throws Exception
More information about the jboss-cvs-commits
mailing list