[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