[jboss-cvs] JBossAS SVN: r59014 - in branches/Branch_4_0/testsuite: imports/sections src/main/org/jboss/test/scoped/test
jboss-cvs-commits at lists.jboss.org
jboss-cvs-commits at lists.jboss.org
Wed Dec 13 12:52:05 EST 2006
Author: tom.elrod at jboss.com
Date: 2006-12-13 12:52:02 -0500 (Wed, 13 Dec 2006)
New Revision: 59014
Modified:
branches/Branch_4_0/testsuite/imports/sections/scoped.xml
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.
Modified: branches/Branch_4_0/testsuite/imports/sections/scoped.xml
===================================================================
--- branches/Branch_4_0/testsuite/imports/sections/scoped.xml 2006-12-13 14:14:17 UTC (rev 59013)
+++ branches/Branch_4_0/testsuite/imports/sections/scoped.xml 2006-12-13 17:52:02 UTC (rev 59014)
@@ -3,49 +3,89 @@
<target name="_jars-scoped">
<mkdir dir="${build.lib}"/>
- <!-- build scopedA.jar -->
- <jar destfile="${build.lib}/scopedA.jar">
+ <mkdir dir="${build.lib}/scopedA.ear"/>
+ <mkdir dir="${build.lib}/scopedA.ear/scopedA.jar"/>
+ <copy todir="${build.lib}/scopedA.ear/scopedA.jar">
<fileset dir="${build.classes}">
<include name="org/jboss/test/scoped/ejb/a/**"/>
<include name="org/jboss/test/scoped/interfaces/**"/>
<include name="org/jboss/test/util/Debug.class"/>
+ <exclude name="**/SimpleResponseDTO*"/>
</fileset>
<fileset dir="${build.resources}/scoped/a/ejb">
<include name="META-INF/*.xml"/>
</fileset>
- </jar>
+ </copy>
- <!-- build scopedB.jar -->
- <jar destfile="${build.lib}/scopedB.jar">
+ <copy todir="${build.lib}/scopedA.ear">
+ <fileset dir="${build.resources}/scoped/a/ear">
+ <include name="META-INF/*.xml"/>
+ </fileset>
+ </copy>
+
+ <mkdir dir="${build.lib}/scopedB.ear"/>
+ <mkdir dir="${build.lib}/scopedB.ear/scopedB.jar"/>
+ <copy todir="${build.lib}/scopedB.ear/scopedB.jar">
<fileset dir="${build.classes}">
<include name="org/jboss/test/scoped/ejb/b/**"/>
<include name="org/jboss/test/scoped/interfaces/**"/>
<include name="org/jboss/test/util/Debug.class"/>
+ <exclude name="**/SimpleResponseDTO*"/>
</fileset>
<fileset dir="${build.resources}/scoped/b/ejb">
<include name="META-INF/*.xml"/>
</fileset>
- </jar>
+ </copy>
- <!-- build scopedA.ear -->
- <jar destfile="${build.lib}/scopedA.ear">
- <fileset dir="${build.lib}">
- <include name="scopedA.jar"/>
- </fileset>
- <fileset dir="${build.resources}/scoped/a/ear">
+ <copy todir="${build.lib}/scopedB.ear">
+ <fileset dir="${build.resources}/scoped/b/ear">
<include name="META-INF/*.xml"/>
</fileset>
- </jar>
+ </copy>
+ <!-- build scopedA.jar -->
+ <!--<jar destfile="${build.lib}/scopedA.jar">-->
+ <!--<fileset dir="${build.classes}">-->
+ <!--<include name="org/jboss/test/scoped/ejb/a/**"/>-->
+ <!--<include name="org/jboss/test/scoped/interfaces/**"/>-->
+ <!--<include name="org/jboss/test/util/Debug.class"/>-->
+ <!--</fileset>-->
+ <!--<fileset dir="${build.resources}/scoped/a/ejb">-->
+ <!--<include name="META-INF/*.xml"/>-->
+ <!--</fileset>-->
+ <!--</jar>-->
+
+ <!-- build scopedB.jar -->
+ <!--<jar destfile="${build.lib}/scopedB.jar">-->
+ <!--<fileset dir="${build.classes}">-->
+ <!--<include name="org/jboss/test/scoped/ejb/b/**"/>-->
+ <!--<include name="org/jboss/test/scoped/interfaces/**"/>-->
+ <!--<include name="org/jboss/test/util/Debug.class"/>-->
+ <!--</fileset>-->
+ <!--<fileset dir="${build.resources}/scoped/b/ejb">-->
+ <!--<include name="META-INF/*.xml"/>-->
+ <!--</fileset>-->
+ <!--</jar>-->
+
+ <!-- build scopedA.ear -->
+ <!--<jar destfile="${build.lib}/scopedA.ear">-->
+ <!--<fileset dir="${build.lib}">-->
+ <!--<include name="scopedA.jar"/>-->
+ <!--</fileset>-->
+ <!--<fileset dir="${build.resources}/scoped/a/ear">-->
+ <!--<include name="META-INF/*.xml"/>-->
+ <!--</fileset>-->
+ <!--</jar>-->
+
<!-- build scopedB.ear -->
- <jar destfile="${build.lib}/scopedB.ear">
- <fileset dir="${build.lib}">
- <include name="scopedB.jar"/>
- </fileset>
- <fileset dir="${build.resources}/scoped/b/ear">
- <include name="META-INF/*.xml"/>
- </fileset>
- </jar>
+ <!--<jar destfile="${build.lib}/scopedB.ear">-->
+ <!--<fileset dir="${build.lib}">-->
+ <!--<include name="scopedB.jar"/>-->
+ <!--</fileset>-->
+ <!--<fileset dir="${build.resources}/scoped/b/ear">-->
+ <!--<include name="META-INF/*.xml"/>-->
+ <!--</fileset>-->
+ <!--</jar>-->
</target>
</project>
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 14:14:17 UTC (rev 59013)
+++ branches/Branch_4_0/testsuite/src/main/org/jboss/test/scoped/test/ScopedUnitTestCase.java 2006-12-13 17:52:02 UTC (rev 59014)
@@ -31,7 +31,26 @@
import org.jboss.test.scoped.interfaces.b.SessionB;
import javax.management.Attribute;
+import java.io.File;
+import java.net.URL;
+import java.lang.reflect.Field;
+import java.lang.reflect.Method;
+
+import junit.framework.TestCase;
+import junit.framework.TestSuite;
+import junit.framework.Test;
+
+import org.jboss.mx.loading.UnifiedLoaderRepository3;
+import org.jboss.mx.loading.RepositoryClassLoader;
+import org.jboss.test.util.ClassMover;
+import org.apache.log4j.Logger;
+import javassist.ClassPool;
+import javassist.CtClass;
+import javassist.CtField;
+import javassist.Modifier;
+
+
/**
* @author <a href="mailto:tom at jboss.org">Tom Elrod</a>
*/
@@ -45,6 +64,55 @@
public void testScoped() throws Exception
{
isolateDeployments(Boolean.TRUE);
+
+ // 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/scopedA.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 = 1L;
+ info.addField(serialVersion, CtField.Initializer.constant(serialVerionUID));
+
+ info.writeFile(libDir.getAbsolutePath());
+
+ 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");
@@ -58,12 +126,12 @@
}
finally
{
- undeploy("scopedB.ear");
+ //undeploy("scopedB.ear");
}
// Run the test after a redeployment
// deploy("scopedB.ear");
-// try
+// try x
// {
// doTest();
// }
@@ -74,7 +142,7 @@
}
finally
{
- undeploy("scopedA.ear");
+ //undeploy("scopedA.ear");
}
}
finally
More information about the jboss-cvs-commits
mailing list