[jboss-cvs] JBossAS SVN: r74640 - in trunk/testsuite: src/main/org/jboss/test/classloader/leak and 16 other directories.

jboss-cvs-commits at lists.jboss.org jboss-cvs-commits at lists.jboss.org
Mon Jun 16 16:29:49 EDT 2008


Author: bstansberry at jboss.com
Date: 2008-06-16 16:29:49 -0400 (Mon, 16 Jun 2008)
New Revision: 74640

Added:
   trunk/testsuite/src/main/org/jboss/test/classloader/leak/aop/
   trunk/testsuite/src/main/org/jboss/test/classloader/leak/aop/Address.java
   trunk/testsuite/src/main/org/jboss/test/classloader/leak/aop/Person.java
   trunk/testsuite/src/main/org/jboss/test/classloader/leak/test/AopPreparedClassesClassloaderLeakUnitTestCase.java
   trunk/testsuite/src/main/org/jboss/test/classloader/leak/web/Address.java
   trunk/testsuite/src/main/org/jboss/test/classloader/leak/web/NoCachingNoReplicableServlet.java
   trunk/testsuite/src/main/org/jboss/test/classloader/leak/web/NoCachingServlet.java
   trunk/testsuite/src/main/org/jboss/test/classloader/leak/web/Person.java
   trunk/testsuite/src/resources/classloader/leak/war/nocache/
   trunk/testsuite/src/resources/classloader/leak/war/nocache/WEB-INF/
   trunk/testsuite/src/resources/classloader/leak/war/nocache/WEB-INF/web.xml
   trunk/testsuite/src/resources/classloader/leak/war/nocache/noreplicable/
   trunk/testsuite/src/resources/classloader/leak/war/nocache/noreplicable/WEB-INF/
   trunk/testsuite/src/resources/classloader/leak/war/nocache/noreplicable/WEB-INF/web.xml
   trunk/testsuite/src/resources/classloader/leak/war/nocache/simple.jsp
   trunk/testsuite/src/resources/cluster/classloader/leak/war/nopass/
   trunk/testsuite/src/resources/cluster/classloader/leak/war/nopass/WEB-INF/
   trunk/testsuite/src/resources/cluster/classloader/leak/war/nopass/WEB-INF/jboss-web.xml
   trunk/testsuite/src/resources/cluster/classloader/leak/war/nopass/WEB-INF/web.xml
Removed:
   trunk/testsuite/src/main/org/jboss/test/cluster/classloader/leak/test/ReplicableClassesClassloaderLeakUnitTestCase.java
   trunk/testsuite/src/main/org/jboss/test/cluster/classloader/leak/web/Address.java
   trunk/testsuite/src/main/org/jboss/test/cluster/classloader/leak/web/NoCachingNoReplicableServlet.java
   trunk/testsuite/src/main/org/jboss/test/cluster/classloader/leak/web/NoCachingServlet.java
   trunk/testsuite/src/main/org/jboss/test/cluster/classloader/leak/web/Person.java
   trunk/testsuite/src/main/org/jboss/test/cluster/classloader/leak/web/aop/Address.java
   trunk/testsuite/src/main/org/jboss/test/cluster/classloader/leak/web/aop/Person.java
   trunk/testsuite/src/resources/classloader/leak/war/nocache/WEB-INF/web.xml
   trunk/testsuite/src/resources/classloader/leak/war/nocache/noreplicable/WEB-INF/web.xml
   trunk/testsuite/src/resources/cluster/classloader/leak/war/nocache/WEB-INF/
   trunk/testsuite/src/resources/cluster/classloader/leak/war/nocache/noreplicable/WEB-INF/
   trunk/testsuite/src/resources/cluster/classloader/leak/war/nocache/simple.jsp
Modified:
   trunk/testsuite/imports/sections/classloader.xml
   trunk/testsuite/imports/sections/cluster.xml
   trunk/testsuite/src/main/org/jboss/test/cluster/classloader/leak/test/ClassloaderLeakUnitTestCase.java
   trunk/testsuite/src/main/org/jboss/test/cluster/classloader/leak/web/ReplicableServlet.java
   trunk/testsuite/src/main/org/jboss/test/cluster/classloader/leak/web/SimpleServlet.java
Log:
[JBAS-5405] Add a test of clustered webapp w/o passivation; move test of aop-prepared classes out of cluster package

Modified: trunk/testsuite/imports/sections/classloader.xml
===================================================================
--- trunk/testsuite/imports/sections/classloader.xml	2008-06-16 19:10:47 UTC (rev 74639)
+++ trunk/testsuite/imports/sections/classloader.xml	2008-06-16 20:29:49 UTC (rev 74640)
@@ -503,6 +503,59 @@
             <include name="classloader-leak-ejb3.jar"/>
   		</fileset>
     </ear> 	
+   	
+    <!-- Need to aop prepare some classes for AopPreparedClassesClassloaderLeakUnitTestCase -->
+    <taskdef name="aopc" classname="org.jboss.aop.ant.AopC"
+         classpathref="jboss.aop.classpath"/>
+    <path id="aop.task.classpath">
+         <path refid="javassist.classpath"/>
+         <path refid="qdox.classpath"/>
+         <path refid="trove.classpath"/>
+         <path refid="jboss.aop.classpath"/>
+         <path refid="jboss.common.core.classpath"/>
+         <path refid="jboss.common.logging.spi.classpath"/>
+         <path refid="jboss.common.logging.log4j.classpath"/>
+         <path refid="jboss.common.logging.jdk.classpath"/>
+         <path refid="jboss.cache.jbosscache.core.classpath"/>
+         <path refid="jboss.cache.jbosscache.pojo.classpath"/>
+    </path>
+      
+    <aopc compilerclasspathref="aop.task.classpath" verbose="true">
+    <classpath refid="thirdparty.classpath"/>
+         <classpath path="${build.classes}"/>
+         <classpath refid="jboss.tomcat.classpath"/>
+         <src path="${build.classes}"/>
+         <include name="org/jboss/test/classloader/leak/aop/*"/>
+       <!--aoppath The needed aop.xml file is picked up from the 
+           jbossweb-cluster.aop jar via jboss.tomcat.classpath -->
+    </aopc>
+   	
+    <war destfile="${build.lib}/classloader-leak-nocache-replicable.war"
+          webxml="${build.resources}/classloader/leak/war/nocache/WEB-INF/web.xml">
+        <webinf dir="${build.resources}/classloader/leak/war/WEB-INF">
+           <include name="jboss-web.xml"/>
+        </webinf>
+        <classes dir="${build.classes}">
+           <include name="org/jboss/test/classloader/leak/web/*"/>
+           <include name="org/jboss/test/classloader/leak/aop/*"/>
+        </classes>
+        <fileset dir="${build.resources}/classloader/leak/war/nocache">
+          <include name="simple.jsp"/>
+        </fileset>
+    </war>
+    <war destfile="${build.lib}/classloader-leak-nocache-noreplicable.war"
+          webxml="${build.resources}/classloader/leak/war/nocache/noreplicable/WEB-INF/web.xml">
+        <webinf dir="${build.resources}/classloader/leak/war/WEB-INF">
+           <include name="jboss-web.xml"/>
+        </webinf>
+        <classes dir="${build.classes}">
+           <include name="org/jboss/test/classloader/leak/web/*"/>
+           <include name="org/jboss/test/classloader/leak/aop/*"/>
+        </classes>
+        <fileset dir="${build.resources}/classloader/leak/war/nocache">
+          <include name="simple.jsp"/>
+        </fileset>
+    </war>
   	
   </target>
 </project>

Modified: trunk/testsuite/imports/sections/cluster.xml
===================================================================
--- trunk/testsuite/imports/sections/cluster.xml	2008-06-16 19:10:47 UTC (rev 74639)
+++ trunk/testsuite/imports/sections/cluster.xml	2008-06-16 20:29:49 UTC (rev 74640)
@@ -489,6 +489,16 @@
             <include name="org/jboss/test/classloader/leak/web/*"/>
             <include name="org/jboss/test/cluster/classloader/leak/web/*"/>
          </classes>
+       </war>      
+       <war destfile="${build.lib}/cluster-clleak-nopass.war"
+          webxml="${build.resources}/cluster/classloader/leak/war/nopass/WEB-INF/web.xml">
+         <webinf dir="${build.resources}/cluster/classloader/leak/war/nopass/WEB-INF">
+            <include name="jboss-web.xml"/>
+         </webinf>
+         <classes dir="${build.classes}">
+            <include name="org/jboss/test/classloader/leak/web/*"/>
+            <include name="org/jboss/test/cluster/classloader/leak/web/*"/>
+         </classes>
        </war>
    	 <war destfile="${build.lib}/cluster-clleak-simple-replicable.war"
            webxml="${build.resources}/cluster/classloader/leak/war/replicable/WEB-INF/web.xml">
@@ -497,8 +507,8 @@
          </webinf>
          <classes dir="${build.classes}">
             <include name="org/jboss/test/classloader/leak/web/*"/>
+            <include name="org/jboss/test/classloader/leak/aop/*"/>
             <include name="org/jboss/test/cluster/classloader/leak/web/*"/>
-            <include name="org/jboss/test/cluster/classloader/leak/web/aop/*"/>
          </classes>
        </war>
    	 <war destfile="${build.lib}/cluster-clleak-field.war"
@@ -508,8 +518,8 @@
          </webinf>
          <classes dir="${build.classes}">
             <include name="org/jboss/test/classloader/leak/web/*"/>
+            <include name="org/jboss/test/classloader/leak/aop/*"/>
             <include name="org/jboss/test/cluster/classloader/leak/web/*"/>
-            <include name="org/jboss/test/cluster/classloader/leak/web/aop/*"/>
          </classes>
        </war>
        <war destfile="${build.lib}/cluster-clleak-field-no-replicable.war"
@@ -522,40 +532,12 @@
             <include name="org/jboss/test/cluster/classloader/leak/web/*"/>
          </classes>
        </war>
-       <war destfile="${build.lib}/cluster-clleak-nocache-replicable.war"
-           webxml="${build.resources}/cluster/classloader/leak/war/nocache/WEB-INF/web.xml">
-         <webinf dir="${build.resources}/cluster/classloader/leak/war/WEB-INF">
-            <include name="jboss-web.xml"/>
-         </webinf>
-         <classes dir="${build.classes}">
-            <include name="org/jboss/test/classloader/leak/web/*"/>
-            <include name="org/jboss/test/cluster/classloader/leak/web/*"/>
-            <include name="org/jboss/test/cluster/classloader/leak/web/aop/*"/>
-         </classes>
-         <fileset dir="${build.resources}/cluster/classloader/leak/war/nocache">
-           <include name="simple.jsp"/>
-         </fileset>
-       </war>
-       <war destfile="${build.lib}/cluster-clleak-nocache-no-replicable.war"
-           webxml="${build.resources}/cluster/classloader/leak/war/nocache/noreplicable/WEB-INF/web.xml">
-         <webinf dir="${build.resources}/cluster/classloader/leak/war/WEB-INF">
-            <include name="jboss-web.xml"/>
-         </webinf>
-         <classes dir="${build.classes}">
-            <include name="org/jboss/test/classloader/leak/web/*"/>
-            <include name="org/jboss/test/cluster/classloader/leak/web/*"/>
-            <include name="org/jboss/test/cluster/classloader/leak/web/aop/*"/>
-         </classes>
-         <fileset dir="${build.resources}/cluster/classloader/leak/war/nocache">
-           <include name="simple.jsp"/>
-         </fileset>
-       </war>
    	 <war destfile="${build.lib}/cluster-clleak-simple-ejb.war"
            webxml="${build.resources}/cluster/classloader/leak/war/ejb2/WEB-INF/web.xml">
          <classes dir="${build.classes}">
             <include name="org/jboss/test/classloader/leak/web/*"/>
+            <include name="org/jboss/test/classloader/leak/aop/*"/>
             <include name="org/jboss/test/cluster/classloader/leak/web/*"/>
-            <include name="org/jboss/test/cluster/classloader/leak/web/aop/*"/>
          </classes>
        </war>
        <jar destfile="${build.lib}/cluster-clleak-ejb.jar"

Copied: trunk/testsuite/src/main/org/jboss/test/classloader/leak/aop/Address.java (from rev 74548, trunk/testsuite/src/main/org/jboss/test/cluster/classloader/leak/web/aop/Address.java)
===================================================================
--- trunk/testsuite/src/main/org/jboss/test/classloader/leak/aop/Address.java	                        (rev 0)
+++ trunk/testsuite/src/main/org/jboss/test/classloader/leak/aop/Address.java	2008-06-16 20:29:49 UTC (rev 74640)
@@ -0,0 +1,84 @@
+/*
+  * JBoss, Home of Professional Open Source
+  * Copyright 2005, JBoss Inc., and individual contributors as indicated
+  * by the @authors tag. See the copyright.txt in the distribution for a
+  * full listing of individual contributors.
+  *
+  * This is free software; you can redistribute it and/or modify it
+  * under the terms of the GNU Lesser General Public License as
+  * published by the Free Software Foundation; either version 2.1 of
+  * the License, or (at your option) any later version.
+  *
+  * This software is distributed in the hope that it will be useful,
+  * but WITHOUT ANY WARRANTY; without even the implied warranty of
+  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+  * Lesser General Public License for more details.
+  *
+  * You should have received a copy of the GNU Lesser General Public
+  * License along with this software; if not, write to the Free
+  * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+  * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+  */
+package org.jboss.test.classloader.leak.aop;
+
+import java.io.Serializable;
+
+import org.jboss.cache.pojo.annotation.Replicable;
+
+
+
+/**
+ * Test class for AOP-prepared classes.  @Replicable annotation will
+ * cause the class to be aop-prepared.
+ *
+ * @version $Revision: 59573 $
+ */
+ at Replicable
+public class Address implements Serializable
+{
+   /** The serialVersionUID */
+   private static final long serialVersionUID = 4782007386315375402L;
+   
+   String street = null;
+   String city = null;
+   int zip = 0;
+
+   public String getStreet()
+   {
+      return street;
+   }
+
+   public void setStreet(String street)
+   {
+      this.street = street;
+   }
+
+   public String getCity()
+   {
+      return city;
+   }
+
+   public void setCity(String city)
+   {
+      this.city = city;
+   }
+
+   public int getZip()
+   {
+      return zip;
+   }
+
+   public void setZip(int zip)
+   {
+      this.zip = zip;
+   }
+
+   public String toString()
+   {
+      return "street=" + getStreet() + ", city=" + getCity() + ", zip=" + getZip();
+   }
+
+//    public Object writeReplace() {
+//	return this;
+//    }
+}

Copied: trunk/testsuite/src/main/org/jboss/test/classloader/leak/aop/Person.java (from rev 74548, trunk/testsuite/src/main/org/jboss/test/cluster/classloader/leak/web/aop/Person.java)
===================================================================
--- trunk/testsuite/src/main/org/jboss/test/classloader/leak/aop/Person.java	                        (rev 0)
+++ trunk/testsuite/src/main/org/jboss/test/classloader/leak/aop/Person.java	2008-06-16 20:29:49 UTC (rev 74640)
@@ -0,0 +1,194 @@
+/*
+  * JBoss, Home of Professional Open Source
+  * Copyright 2005, JBoss Inc., and individual contributors as indicated
+  * by the @authors tag. See the copyright.txt in the distribution for a
+  * full listing of individual contributors.
+  *
+  * This is free software; you can redistribute it and/or modify it
+  * under the terms of the GNU Lesser General Public License as
+  * published by the Free Software Foundation; either version 2.1 of
+  * the License, or (at your option) any later version.
+  *
+  * This software is distributed in the hope that it will be useful,
+  * but WITHOUT ANY WARRANTY; without even the implied warranty of
+  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+  * Lesser General Public License for more details.
+  *
+  * You should have received a copy of the GNU Lesser General Public
+  * License along with this software; if not, write to the Free
+  * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+  * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+  */
+package org.jboss.test.classloader.leak.aop;
+
+import java.io.Serializable;
+import java.util.*;
+
+import org.jboss.cache.pojo.annotation.Replicable;
+
+
+/**
+ * Test class for AOP-prepared classes.  @Replicable annotation will
+ * cause the class to be aop-prepared.
+ *
+ * @version $Revision: 59573 $
+ */
+ at Replicable
+public class Person implements Serializable
+{
+   /** The serialVersionUID */
+   private static final long serialVersionUID = -5484997974711804156L;
+   
+   String name = null;
+   int age = 0;
+   Map hobbies = null;
+   Address address = null;
+   Set skills;
+   List languages;
+   // Test for transient field non-replication
+   transient String currentStatus = "Active";
+   // Test swapping out the Collection ref with proxy one
+   // medication will be different when age limit is exceeded.
+   List medication = null;
+   static final int AGE1 = 50;
+   static final int AGE2 = 60;
+
+   public Person() {
+
+   }
+
+   public String getName()
+   {
+      return name;
+   }
+
+   public void setName(String name)
+   {
+      this.name = name;
+   }
+
+   public void setCurrentStatus(String status) {
+      currentStatus = status;
+   }
+
+   public String getCurrentStatus() {
+      return currentStatus;
+   }
+
+   public void setName(Object obj)
+   {
+      this.name = (String)obj;
+   }
+
+   public int getAge()
+   {
+      return age;
+   }
+
+   public void setAge(int age)
+   {
+
+      this.age = age;
+
+      // This will swap out the reference dynamically
+      if(age < AGE1) {
+         if(medication != null) {
+            medication.clear();
+            medication=null;
+         }
+      }
+      else {
+         if( age >= AGE1 ) {
+            addMedication("Lipitor");
+         }
+
+         if (age >= AGE2) {
+            addMedication("Vioxx");
+         }
+      }
+
+
+   }
+
+   void addMedication(String name) {
+      if( medication == null )
+         medication = new ArrayList();
+      if(!medication.contains(name))
+         medication.add(name);
+   }
+
+   public Map getHobbies()
+   {
+      return hobbies;
+   }
+
+   public void setHobbies(Map hobbies)
+   {
+      this.hobbies = hobbies;
+   }
+
+   public Address getAddress()
+   {
+      return address;
+   }
+
+   public void setAddress(Address address)
+   {
+      this.address = address;
+   }
+
+   public Set getSkills()
+   {
+      return skills;
+   }
+
+   public void setSkills(Set skills)
+   {
+      this.skills = skills;
+   }
+
+   public List getMedication()
+   {
+      return medication;
+   }
+
+   public void setMedication(List medication)
+   {
+      this.medication = medication;
+   }
+
+   public List getLanguages()
+   {
+      return languages;
+   }
+
+   public void setLanguages(List languages)
+   {
+      this.languages = languages;
+   }
+
+   public String toString()
+   {
+      StringBuffer sb=new StringBuffer();
+      sb.append("name=").append(getName()).append(", age=").append(getAge()).append(", hobbies=")
+            .append(print(getHobbies())).append(", address=").append(getAddress()).append(", skills=")
+            .append(skills).append(", languages=").append(languages).toString();
+      if(medication != null)
+         sb.append(", medication=" + medication);
+      return sb.toString();
+   }
+
+   public String print(Map m)
+   {
+      StringBuffer sb = new StringBuffer();
+      Map.Entry entry;
+      if (m != null) {
+         for (Iterator it = m.entrySet().iterator(); it.hasNext();) {
+            entry = (Map.Entry) it.next();
+            sb.append(entry.getKey()).append(": ").append(entry.getValue());
+            sb.append("\n");
+         }
+      }
+      return sb.toString();
+   }
+}

Added: trunk/testsuite/src/main/org/jboss/test/classloader/leak/test/AopPreparedClassesClassloaderLeakUnitTestCase.java
===================================================================
--- trunk/testsuite/src/main/org/jboss/test/classloader/leak/test/AopPreparedClassesClassloaderLeakUnitTestCase.java	                        (rev 0)
+++ trunk/testsuite/src/main/org/jboss/test/classloader/leak/test/AopPreparedClassesClassloaderLeakUnitTestCase.java	2008-06-16 20:29:49 UTC (rev 74640)
@@ -0,0 +1,109 @@
+/*
+ * JBoss, Home of Professional Open Source.
+ * Copyright 2006, Red Hat Middleware LLC, and individual contributors
+ * as indicated by the @author tags. See the copyright.txt file in the
+ * distribution for a full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
+package org.jboss.test.classloader.leak.test;
+
+import junit.framework.Test;
+
+/**
+ * Test for classloader leaks following deployment, use and undeployment
+ * of wars that instantiate AOP-prepared classes. These wars do very little
+ * with the classes; just instantiate some objects, populate fields, etc; don't
+ * even cache the objects in a session.  Basically testing for pure AOP issues.
+ * <p/>
+ * If these tests are run with JBoss Profiler's jbossAgent (.dll or .so) on the path
+ * and the AS is started with -agentlib:jbossAgent, in case of classloader leakage
+ * an extensive report will be logged to the server log, showing the path to root of
+ * all references to the classloader.
+ * 
+ * @author Brian Stansberry
+ */
+public class AopPreparedClassesClassloaderLeakUnitTestCase 
+   extends org.jboss.test.classloader.leak.test.ClassloaderLeakTestBase
+{
+   private static final String NO_CACHE_REPLICABLE_WAR = "classloader-leak-nocache-replicable.war";
+   private static final String NO_CACHE_NO_REPLICABLE_WAR = "classloader-leak-nocache-noreplicable.war";
+   
+   
+   public AopPreparedClassesClassloaderLeakUnitTestCase(String name)
+   {
+      super(name);
+   }
+
+
+   public static Test suite() throws Exception
+   {
+      return getDeploySetup(AopPreparedClassesClassloaderLeakUnitTestCase.class, "classloader-leak-test.sar");
+   }
+   
+   @Override
+   protected void setUp() throws Exception
+   {
+      super.setUp();
+
+      // This test runs in a clustered config, so use the cluster config
+      // props to create the base URL
+      
+      String urlProp = "jbosstest.cluster.node0.http.url";
+      String urlDefault = "http://" + getServerHost() + ":8080";
+      String urlValue = System.getProperty(urlProp, urlDefault);
+      log.debug("Http Url for node is:" + urlValue);
+      baseURL = urlValue + "/" + getWarContextPath() + "/";
+   }
+
+
+   /**
+    * Test with a version of the classes that haven't been aspectized. This
+    * is a form of "control" for the testNoCacheReplicableWar() test. 
+    * 
+    * @throws Exception
+    */
+   public void testNoCacheNoReplicableWar() throws Exception
+   {
+      warTest(NO_CACHE_NO_REPLICABLE_WAR);
+   }
+   
+   /**
+    * Test with a version of the classes that have been aopc prepared. This is
+    * the real test. 
+    * 
+    * @throws Exception
+    */
+   public void testNoCacheReplicableWar() throws Exception
+   {
+      warTest(NO_CACHE_REPLICABLE_WAR);
+   }
+   
+   protected String getWarContextPath()
+   {
+      return "classloader-leak";
+   }
+   
+   protected String[] getEjbKeys()
+   {
+      return new String[]{};
+   }
+   
+   protected void makeEjbRequests() throws Exception
+   {
+      throw new UnsupportedOperationException("No EJB tests");
+   }
+}

Copied: trunk/testsuite/src/main/org/jboss/test/classloader/leak/web/Address.java (from rev 74548, trunk/testsuite/src/main/org/jboss/test/cluster/classloader/leak/web/Address.java)
===================================================================
--- trunk/testsuite/src/main/org/jboss/test/classloader/leak/web/Address.java	                        (rev 0)
+++ trunk/testsuite/src/main/org/jboss/test/classloader/leak/web/Address.java	2008-06-16 20:29:49 UTC (rev 74640)
@@ -0,0 +1,81 @@
+/*
+  * JBoss, Home of Professional Open Source
+  * Copyright 2005, JBoss Inc., and individual contributors as indicated
+  * by the @authors tag. See the copyright.txt in the distribution for a
+  * full listing of individual contributors.
+  *
+  * This is free software; you can redistribute it and/or modify it
+  * under the terms of the GNU Lesser General Public License as
+  * published by the Free Software Foundation; either version 2.1 of
+  * the License, or (at your option) any later version.
+  *
+  * This software is distributed in the hope that it will be useful,
+  * but WITHOUT ANY WARRANTY; without even the implied warranty of
+  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+  * Lesser General Public License for more details.
+  *
+  * You should have received a copy of the GNU Lesser General Public
+  * License along with this software; if not, write to the Free
+  * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+  * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+  */
+package org.jboss.test.classloader.leak.web;
+
+import java.io.Serializable;
+
+
+
+/**
+ * Test class for PojoCache.
+ * Person is a POJO that will be instrumented with CacheInterceptor
+ *
+ * @version $Revision: 59573 $
+ */
+public class Address implements Serializable
+{
+   /** The serialVersionUID */
+   private static final long serialVersionUID = 4782007386315375402L;
+   
+   String street = null;
+   String city = null;
+   int zip = 0;
+
+   public String getStreet()
+   {
+      return street;
+   }
+
+   public void setStreet(String street)
+   {
+      this.street = street;
+   }
+
+   public String getCity()
+   {
+      return city;
+   }
+
+   public void setCity(String city)
+   {
+      this.city = city;
+   }
+
+   public int getZip()
+   {
+      return zip;
+   }
+
+   public void setZip(int zip)
+   {
+      this.zip = zip;
+   }
+
+   public String toString()
+   {
+      return "street=" + getStreet() + ", city=" + getCity() + ", zip=" + getZip();
+   }
+
+//    public Object writeReplace() {
+//	return this;
+//    }
+}

Copied: trunk/testsuite/src/main/org/jboss/test/classloader/leak/web/NoCachingNoReplicableServlet.java (from rev 74548, trunk/testsuite/src/main/org/jboss/test/cluster/classloader/leak/web/NoCachingNoReplicableServlet.java)
===================================================================
--- trunk/testsuite/src/main/org/jboss/test/classloader/leak/web/NoCachingNoReplicableServlet.java	                        (rev 0)
+++ trunk/testsuite/src/main/org/jboss/test/classloader/leak/web/NoCachingNoReplicableServlet.java	2008-06-16 20:29:49 UTC (rev 74640)
@@ -0,0 +1,62 @@
+/*
+ * JBoss, Home of Professional Open Source.
+ * Copyright 2006, Red Hat Middleware LLC, and individual contributors
+ * as indicated by the @author tags. See the copyright.txt file in the
+ * distribution for a full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
+package org.jboss.test.classloader.leak.web;
+
+import java.io.IOException;
+import java.io.PrintWriter;
+import java.util.ArrayList;
+import java.util.List;
+
+import javax.servlet.ServletException;
+import javax.servlet.http.HttpServlet;
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
+
+
+public class NoCachingNoReplicableServlet extends HttpServlet
+{
+   private static final long serialVersionUID = 1L;
+
+   protected void doGet(HttpServletRequest req, HttpServletResponse res)
+      throws ServletException, IOException
+   {
+      org.jboss.test.classloader.leak.clstore.ClassLoaderStore.getInstance().storeClassLoader("SERVLET", Thread.currentThread().getContextClassLoader());
+      org.jboss.test.classloader.leak.clstore.ClassLoaderStore.getInstance().storeClassLoader("SERVLET_TCCL", Thread.currentThread().getContextClassLoader());
+      
+      Person ben = new Person();
+      Address addr = new Address();
+      addr.setZip(95123);
+      addr.setCity("San Jose");
+      ben.setAge(100);
+      ben.setName("Ben");
+      ben.setAddress(addr);
+      List languages = new ArrayList();
+      languages.add("Farsi");
+      ben.setLanguages(languages);
+      
+      res.setContentType("text/text");
+      PrintWriter writer = res.getWriter();
+      writer.println("WEBAPP");
+      writer.flush();
+   }
+   
+}

Copied: trunk/testsuite/src/main/org/jboss/test/classloader/leak/web/NoCachingServlet.java (from rev 74548, trunk/testsuite/src/main/org/jboss/test/cluster/classloader/leak/web/NoCachingServlet.java)
===================================================================
--- trunk/testsuite/src/main/org/jboss/test/classloader/leak/web/NoCachingServlet.java	                        (rev 0)
+++ trunk/testsuite/src/main/org/jboss/test/classloader/leak/web/NoCachingServlet.java	2008-06-16 20:29:49 UTC (rev 74640)
@@ -0,0 +1,64 @@
+/*
+ * JBoss, Home of Professional Open Source.
+ * Copyright 2006, Red Hat Middleware LLC, and individual contributors
+ * as indicated by the @author tags. See the copyright.txt file in the
+ * distribution for a full listing of individual contributors.
+ *
+ * This is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation; either version 2.1 of
+ * the License, or (at your option) any later version.
+ *
+ * This software is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this software; if not, write to the Free
+ * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+ * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+ */
+package org.jboss.test.classloader.leak.web;
+
+import java.io.IOException;
+import java.io.PrintWriter;
+import java.util.ArrayList;
+import java.util.List;
+
+import javax.servlet.ServletException;
+import javax.servlet.http.HttpServlet;
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
+
+import org.jboss.test.classloader.leak.aop.Address;
+import org.jboss.test.classloader.leak.aop.Person;
+
+public class NoCachingServlet extends HttpServlet
+{
+   private static final long serialVersionUID = 1L;
+
+   protected void doGet(HttpServletRequest req, HttpServletResponse res)
+      throws ServletException, IOException
+   {
+      org.jboss.test.classloader.leak.clstore.ClassLoaderStore.getInstance().storeClassLoader("SERVLET", Thread.currentThread().getContextClassLoader());
+      org.jboss.test.classloader.leak.clstore.ClassLoaderStore.getInstance().storeClassLoader("SERVLET_TCCL", Thread.currentThread().getContextClassLoader());
+      
+      Person ben = new Person();
+      Address addr = new Address();
+      addr.setZip(95123);
+      addr.setCity("San Jose");
+      ben.setAge(100);
+      ben.setName("Ben");
+      ben.setAddress(addr);
+      List languages = new ArrayList();
+      languages.add("Farsi");
+      ben.setLanguages(languages);
+      
+      res.setContentType("text/text");
+      PrintWriter writer = res.getWriter();
+      writer.println("WEBAPP");
+      writer.flush();
+   }
+   
+}

Copied: trunk/testsuite/src/main/org/jboss/test/classloader/leak/web/Person.java (from rev 74548, trunk/testsuite/src/main/org/jboss/test/cluster/classloader/leak/web/Person.java)
===================================================================
--- trunk/testsuite/src/main/org/jboss/test/classloader/leak/web/Person.java	                        (rev 0)
+++ trunk/testsuite/src/main/org/jboss/test/classloader/leak/web/Person.java	2008-06-16 20:29:49 UTC (rev 74640)
@@ -0,0 +1,195 @@
+/*
+  * JBoss, Home of Professional Open Source
+  * Copyright 2005, JBoss Inc., and individual contributors as indicated
+  * by the @authors tag. See the copyright.txt in the distribution for a
+  * full listing of individual contributors.
+  *
+  * This is free software; you can redistribute it and/or modify it
+  * under the terms of the GNU Lesser General Public License as
+  * published by the Free Software Foundation; either version 2.1 of
+  * the License, or (at your option) any later version.
+  *
+  * This software is distributed in the hope that it will be useful,
+  * but WITHOUT ANY WARRANTY; without even the implied warranty of
+  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+  * Lesser General Public License for more details.
+  *
+  * You should have received a copy of the GNU Lesser General Public
+  * License along with this software; if not, write to the Free
+  * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
+  * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
+  */
+package org.jboss.test.classloader.leak.web;
+
+import java.io.Serializable;
+import java.util.ArrayList;
+import java.util.Iterator;
+import java.util.List;
+import java.util.Map;
+import java.util.Set;
+
+
+/**
+ * Test class for PojoCache.
+ * Person is a POJO that will be instrumented with CacheInterceptor
+ *
+ * @version $Revision: 59573 $
+ */
+public class Person implements Serializable
+{
+   /** The serialVersionUID */
+   private static final long serialVersionUID = -5484997974711804156L;
+   
+   String name = null;
+   int age = 0;
+   Map hobbies = null;
+   Address address = null;
+   Set skills;
+   List languages;
+   // Test for transient field non-replication
+   transient String currentStatus = "Active";
+   // Test swapping out the Collection ref with proxy one
+   // medication will be different when age limit is exceeded.
+   List medication = null;
+   static final int AGE1 = 50;
+   static final int AGE2 = 60;
+
+   public Person() {
+
+   }
+
+   public String getName()
+   {
+      return name;
+   }
+
+   public void setName(String name)
+   {
+      this.name = name;
+   }
+
+   public void setCurrentStatus(String status) {
+      currentStatus = status;
+   }
+
+   public String getCurrentStatus() {
+      return currentStatus;
+   }
+
+   public void setName(Object obj)
+   {
+      this.name = (String)obj;
+   }
+
+   public int getAge()
+   {
+      return age;
+   }
+
+   public void setAge(int age)
+   {
+
+      this.age = age;
+
+      // This will swap out the reference dynamically
+      if(age < AGE1) {
+         if(medication != null) {
+            medication.clear();
+            medication=null;
+         }
+      }
+      else {
+         if( age >= AGE1 ) {
+            addMedication("Lipitor");
+         }
+
+         if (age >= AGE2) {
+            addMedication("Vioxx");
+         }
+      }
+
+
+   }
+
+   void addMedication(String name) {
+      if( medication == null )
+         medication = new ArrayList();
+      if(!medication.contains(name))
+         medication.add(name);
+   }
+
+   public Map getHobbies()
+   {
+      return hobbies;
+   }
+
+   public void setHobbies(Map hobbies)
+   {
+      this.hobbies = hobbies;
+   }
+
+   public Address getAddress()
+   {
+      return address;
+   }
+
+   public void setAddress(Address address)
+   {
+      this.address = address;
+   }
+
+   public Set getSkills()
+   {
+      return skills;
+   }
+
+   public void setSkills(Set skills)
+   {
+      this.skills = skills;
+   }
+
+   public List getMedication()
+   {
+      return medication;
+   }
+
+   public void setMedication(List medication)
+   {
+      this.medication = medication;
+   }
+
+   public List getLanguages()
+   {
+      return languages;
+   }
+
+   public void setLanguages(List languages)
+   {
+      this.languages = languages;
+   }
+
+   public String toString()
+   {
+      StringBuffer sb=new StringBuffer();
+      sb.append("name=").append(getName()).append(", age=").append(getAge()).append(", hobbies=")
+            .append(print(getHobbies())).append(", address=").append(getAddress()).append(", skills=")
+            .append(skills).append(", languages=").append(languages).toString();
+      if(medication != null)
+         sb.append(", medication=" + medication);
+      return sb.toString();
+   }
+
+   public String print(Map m)
+   {
+      StringBuffer sb = new StringBuffer();
+      Map.Entry entry;
+      if (m != null) {
+         for (Iterator it = m.entrySet().iterator(); it.hasNext();) {
+            entry = (Map.Entry) it.next();
+            sb.append(entry.getKey()).append(": ").append(entry.getValue());
+            sb.append("\n");
+         }
+      }
+      return sb.toString();
+   }
+}

Modified: trunk/testsuite/src/main/org/jboss/test/cluster/classloader/leak/test/ClassloaderLeakUnitTestCase.java
===================================================================
--- trunk/testsuite/src/main/org/jboss/test/cluster/classloader/leak/test/ClassloaderLeakUnitTestCase.java	2008-06-16 19:10:47 UTC (rev 74639)
+++ trunk/testsuite/src/main/org/jboss/test/cluster/classloader/leak/test/ClassloaderLeakUnitTestCase.java	2008-06-16 20:29:49 UTC (rev 74640)
@@ -50,6 +50,7 @@
    private static final String SIMPLE_ISOLATED_EAR = "cluster-clleak-simple-isolated.ear";
    private static final String NO_WEB_EAR = "cluster-clleak-noweb.ear";
    private static final String ISOLATED_NO_WEB_EAR = "cluster-clleak-noweb-isolated.ear";
+   private static final String NO_PASSIVATION_WAR = "cluster-clleak-nopass.war";
    
    private static final String EJB2_SLSB = "EJB2_SLSB";
    private static final String EJB2_SFSB = "EJB2_SFSB";
@@ -75,6 +76,11 @@
       warTest(SIMPLE_WAR);
    }
    
+   public void testNoPassivationWar() throws Exception
+   {
+      warTest(NO_PASSIVATION_WAR);
+   }
+   
 //   public void testSimpleEjb() throws Exception
 //   {
 //      ejbTest(SIMPLE_EJB);

Deleted: trunk/testsuite/src/main/org/jboss/test/cluster/classloader/leak/test/ReplicableClassesClassloaderLeakUnitTestCase.java
===================================================================
--- trunk/testsuite/src/main/org/jboss/test/cluster/classloader/leak/test/ReplicableClassesClassloaderLeakUnitTestCase.java	2008-06-16 19:10:47 UTC (rev 74639)
+++ trunk/testsuite/src/main/org/jboss/test/cluster/classloader/leak/test/ReplicableClassesClassloaderLeakUnitTestCase.java	2008-06-16 20:29:49 UTC (rev 74640)
@@ -1,109 +0,0 @@
-/*
- * JBoss, Home of Professional Open Source.
- * Copyright 2006, Red Hat Middleware LLC, and individual contributors
- * as indicated by the @author tags. See the copyright.txt file in the
- * distribution for a full listing of individual contributors.
- *
- * This is free software; you can redistribute it and/or modify it
- * under the terms of the GNU Lesser General Public License as
- * published by the Free Software Foundation; either version 2.1 of
- * the License, or (at your option) any later version.
- *
- * This software is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this software; if not, write to the Free
- * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
- * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
- */
-package org.jboss.test.cluster.classloader.leak.test;
-
-import junit.framework.Test;
-
-/**
- * Test for classloader leaks following deployment, use and undeployment
- * of wars that instantiate AOP-prepared classes. These wars do very little
- * with the classes; just instantiate some objects, populate fields, etc; don't
- * even cache the objects in a session.  Basically testing for pure AOP issues.
- * <p/>
- * If these tests are run with JBoss Profiler's jbossAgent (.dll or .so) on the path
- * and the AS is started with -agentlib:jbossAgent, in case of classloader leakage
- * an extensive report will be logged to the server log, showing the path to root of
- * all references to the classloader.
- * 
- * @author Brian Stansberry
- */
-public class ReplicableClassesClassloaderLeakUnitTestCase 
-   extends org.jboss.test.classloader.leak.test.ClassloaderLeakTestBase
-{
-   private static final String NO_CACHE_REPLICABLE_WAR = "cluster-clleak-nocache-replicable.war";
-   private static final String NO_CACHE_NO_REPLICABLE_WAR = "cluster-clleak-nocache-no-replicable.war";
-   
-   
-   public ReplicableClassesClassloaderLeakUnitTestCase(String name)
-   {
-      super(name);
-   }
-
-
-   public static Test suite() throws Exception
-   {
-      return getDeploySetup(ReplicableClassesClassloaderLeakUnitTestCase.class, "classloader-leak-test.sar");
-   }
-   
-   @Override
-   protected void setUp() throws Exception
-   {
-      super.setUp();
-
-      // This test runs in a clustered config, so use the cluster config
-      // props to create the base URL
-      
-      String urlProp = "jbosstest.cluster.node0.http.url";
-      String urlDefault = "http://" + getServerHost() + ":8080";
-      String urlValue = System.getProperty(urlProp, urlDefault);
-      log.debug("Http Url for node is:" + urlValue);
-      baseURL = urlValue + "/" + getWarContextPath() + "/";
-   }
-
-
-   /**
-    * Test with a version of the classes that haven't been aspectized. This
-    * is a form of "control" for the testNoCacheReplicableWar() test. 
-    * 
-    * @throws Exception
-    */
-   public void testNoCacheNoReplicableWar() throws Exception
-   {
-      warTest(NO_CACHE_NO_REPLICABLE_WAR);
-   }
-   
-   /**
-    * Test with a version of the classes that have been aopc prepared. This is
-    * the real test. 
-    * 
-    * @throws Exception
-    */
-   public void testNoCacheReplicableWar() throws Exception
-   {
-      warTest(NO_CACHE_REPLICABLE_WAR);
-   }
-   
-   protected String getWarContextPath()
-   {
-      return "clustered-clleak";
-   }
-   
-   protected String[] getEjbKeys()
-   {
-      return new String[]{};
-   }
-   
-   protected void makeEjbRequests() throws Exception
-   {
-      throw new UnsupportedOperationException("No EJB tests");
-   }
-}

Deleted: trunk/testsuite/src/main/org/jboss/test/cluster/classloader/leak/web/Address.java
===================================================================
--- trunk/testsuite/src/main/org/jboss/test/cluster/classloader/leak/web/Address.java	2008-06-16 19:10:47 UTC (rev 74639)
+++ trunk/testsuite/src/main/org/jboss/test/cluster/classloader/leak/web/Address.java	2008-06-16 20:29:49 UTC (rev 74640)
@@ -1,81 +0,0 @@
-/*
-  * JBoss, Home of Professional Open Source
-  * Copyright 2005, JBoss Inc., and individual contributors as indicated
-  * by the @authors tag. See the copyright.txt in the distribution for a
-  * full listing of individual contributors.
-  *
-  * This is free software; you can redistribute it and/or modify it
-  * under the terms of the GNU Lesser General Public License as
-  * published by the Free Software Foundation; either version 2.1 of
-  * the License, or (at your option) any later version.
-  *
-  * This software is distributed in the hope that it will be useful,
-  * but WITHOUT ANY WARRANTY; without even the implied warranty of
-  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-  * Lesser General Public License for more details.
-  *
-  * You should have received a copy of the GNU Lesser General Public
-  * License along with this software; if not, write to the Free
-  * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
-  * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
-  */
-package org.jboss.test.cluster.classloader.leak.web;
-
-import java.io.Serializable;
-
-
-
-/**
- * Test class for PojoCache.
- * Person is a POJO that will be instrumented with CacheInterceptor
- *
- * @version $Revision: 59573 $
- */
-public class Address implements Serializable
-{
-   /** The serialVersionUID */
-   private static final long serialVersionUID = 4782007386315375402L;
-   
-   String street = null;
-   String city = null;
-   int zip = 0;
-
-   public String getStreet()
-   {
-      return street;
-   }
-
-   public void setStreet(String street)
-   {
-      this.street = street;
-   }
-
-   public String getCity()
-   {
-      return city;
-   }
-
-   public void setCity(String city)
-   {
-      this.city = city;
-   }
-
-   public int getZip()
-   {
-      return zip;
-   }
-
-   public void setZip(int zip)
-   {
-      this.zip = zip;
-   }
-
-   public String toString()
-   {
-      return "street=" + getStreet() + ", city=" + getCity() + ", zip=" + getZip();
-   }
-
-//    public Object writeReplace() {
-//	return this;
-//    }
-}

Deleted: trunk/testsuite/src/main/org/jboss/test/cluster/classloader/leak/web/NoCachingNoReplicableServlet.java
===================================================================
--- trunk/testsuite/src/main/org/jboss/test/cluster/classloader/leak/web/NoCachingNoReplicableServlet.java	2008-06-16 19:10:47 UTC (rev 74639)
+++ trunk/testsuite/src/main/org/jboss/test/cluster/classloader/leak/web/NoCachingNoReplicableServlet.java	2008-06-16 20:29:49 UTC (rev 74640)
@@ -1,61 +0,0 @@
-/*
- * JBoss, Home of Professional Open Source.
- * Copyright 2006, Red Hat Middleware LLC, and individual contributors
- * as indicated by the @author tags. See the copyright.txt file in the
- * distribution for a full listing of individual contributors.
- *
- * This is free software; you can redistribute it and/or modify it
- * under the terms of the GNU Lesser General Public License as
- * published by the Free Software Foundation; either version 2.1 of
- * the License, or (at your option) any later version.
- *
- * This software is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this software; if not, write to the Free
- * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
- * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
- */
-package org.jboss.test.cluster.classloader.leak.web;
-
-import java.io.IOException;
-import java.io.PrintWriter;
-import java.util.ArrayList;
-import java.util.List;
-
-import javax.servlet.ServletException;
-import javax.servlet.http.HttpServlet;
-import javax.servlet.http.HttpServletRequest;
-import javax.servlet.http.HttpServletResponse;
-
-public class NoCachingNoReplicableServlet extends HttpServlet
-{
-   private static final long serialVersionUID = 1L;
-
-   protected void doGet(HttpServletRequest req, HttpServletResponse res)
-      throws ServletException, IOException
-   {
-      org.jboss.test.classloader.leak.clstore.ClassLoaderStore.getInstance().storeClassLoader("SERVLET", Thread.currentThread().getContextClassLoader());
-      org.jboss.test.classloader.leak.clstore.ClassLoaderStore.getInstance().storeClassLoader("SERVLET_TCCL", Thread.currentThread().getContextClassLoader());
-      
-      Person ben = new Person();
-      Address addr = new Address();
-      addr.setZip(95123);
-      addr.setCity("San Jose");
-      ben.setAge(100);
-      ben.setName("Ben");
-      ben.setAddress(addr);
-      List languages = new ArrayList();
-      languages.add("Farsi");
-      ben.setLanguages(languages);
-      
-      res.setContentType("text/text");
-      PrintWriter writer = res.getWriter();
-      writer.println("WEBAPP");
-      writer.flush();
-   }
-   
-}

Deleted: trunk/testsuite/src/main/org/jboss/test/cluster/classloader/leak/web/NoCachingServlet.java
===================================================================
--- trunk/testsuite/src/main/org/jboss/test/cluster/classloader/leak/web/NoCachingServlet.java	2008-06-16 19:10:47 UTC (rev 74639)
+++ trunk/testsuite/src/main/org/jboss/test/cluster/classloader/leak/web/NoCachingServlet.java	2008-06-16 20:29:49 UTC (rev 74640)
@@ -1,64 +0,0 @@
-/*
- * JBoss, Home of Professional Open Source.
- * Copyright 2006, Red Hat Middleware LLC, and individual contributors
- * as indicated by the @author tags. See the copyright.txt file in the
- * distribution for a full listing of individual contributors.
- *
- * This is free software; you can redistribute it and/or modify it
- * under the terms of the GNU Lesser General Public License as
- * published by the Free Software Foundation; either version 2.1 of
- * the License, or (at your option) any later version.
- *
- * This software is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this software; if not, write to the Free
- * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
- * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
- */
-package org.jboss.test.cluster.classloader.leak.web;
-
-import java.io.IOException;
-import java.io.PrintWriter;
-import java.util.ArrayList;
-import java.util.List;
-
-import javax.servlet.ServletException;
-import javax.servlet.http.HttpServlet;
-import javax.servlet.http.HttpServletRequest;
-import javax.servlet.http.HttpServletResponse;
-
-import org.jboss.test.cluster.classloader.leak.web.aop.Address;
-import org.jboss.test.cluster.classloader.leak.web.aop.Person;
-
-public class NoCachingServlet extends HttpServlet
-{
-   private static final long serialVersionUID = 1L;
-
-   protected void doGet(HttpServletRequest req, HttpServletResponse res)
-      throws ServletException, IOException
-   {
-      org.jboss.test.classloader.leak.clstore.ClassLoaderStore.getInstance().storeClassLoader("SERVLET", Thread.currentThread().getContextClassLoader());
-      org.jboss.test.classloader.leak.clstore.ClassLoaderStore.getInstance().storeClassLoader("SERVLET_TCCL", Thread.currentThread().getContextClassLoader());
-      
-      Person ben = new Person();
-      Address addr = new Address();
-      addr.setZip(95123);
-      addr.setCity("San Jose");
-      ben.setAge(100);
-      ben.setName("Ben");
-      ben.setAddress(addr);
-      List languages = new ArrayList();
-      languages.add("Farsi");
-      ben.setLanguages(languages);
-      
-      res.setContentType("text/text");
-      PrintWriter writer = res.getWriter();
-      writer.println("WEBAPP");
-      writer.flush();
-   }
-   
-}

Deleted: trunk/testsuite/src/main/org/jboss/test/cluster/classloader/leak/web/Person.java
===================================================================
--- trunk/testsuite/src/main/org/jboss/test/cluster/classloader/leak/web/Person.java	2008-06-16 19:10:47 UTC (rev 74639)
+++ trunk/testsuite/src/main/org/jboss/test/cluster/classloader/leak/web/Person.java	2008-06-16 20:29:49 UTC (rev 74640)
@@ -1,195 +0,0 @@
-/*
-  * JBoss, Home of Professional Open Source
-  * Copyright 2005, JBoss Inc., and individual contributors as indicated
-  * by the @authors tag. See the copyright.txt in the distribution for a
-  * full listing of individual contributors.
-  *
-  * This is free software; you can redistribute it and/or modify it
-  * under the terms of the GNU Lesser General Public License as
-  * published by the Free Software Foundation; either version 2.1 of
-  * the License, or (at your option) any later version.
-  *
-  * This software is distributed in the hope that it will be useful,
-  * but WITHOUT ANY WARRANTY; without even the implied warranty of
-  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-  * Lesser General Public License for more details.
-  *
-  * You should have received a copy of the GNU Lesser General Public
-  * License along with this software; if not, write to the Free
-  * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
-  * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
-  */
-package org.jboss.test.cluster.classloader.leak.web;
-
-import java.io.Serializable;
-import java.util.ArrayList;
-import java.util.Iterator;
-import java.util.List;
-import java.util.Map;
-import java.util.Set;
-
-
-/**
- * Test class for PojoCache.
- * Person is a POJO that will be instrumented with CacheInterceptor
- *
- * @version $Revision: 59573 $
- */
-public class Person implements Serializable
-{
-   /** The serialVersionUID */
-   private static final long serialVersionUID = -5484997974711804156L;
-   
-   String name = null;
-   int age = 0;
-   Map hobbies = null;
-   Address address = null;
-   Set skills;
-   List languages;
-   // Test for transient field non-replication
-   transient String currentStatus = "Active";
-   // Test swapping out the Collection ref with proxy one
-   // medication will be different when age limit is exceeded.
-   List medication = null;
-   static final int AGE1 = 50;
-   static final int AGE2 = 60;
-
-   public Person() {
-
-   }
-
-   public String getName()
-   {
-      return name;
-   }
-
-   public void setName(String name)
-   {
-      this.name = name;
-   }
-
-   public void setCurrentStatus(String status) {
-      currentStatus = status;
-   }
-
-   public String getCurrentStatus() {
-      return currentStatus;
-   }
-
-   public void setName(Object obj)
-   {
-      this.name = (String)obj;
-   }
-
-   public int getAge()
-   {
-      return age;
-   }
-
-   public void setAge(int age)
-   {
-
-      this.age = age;
-
-      // This will swap out the reference dynamically
-      if(age < AGE1) {
-         if(medication != null) {
-            medication.clear();
-            medication=null;
-         }
-      }
-      else {
-         if( age >= AGE1 ) {
-            addMedication("Lipitor");
-         }
-
-         if (age >= AGE2) {
-            addMedication("Vioxx");
-         }
-      }
-
-
-   }
-
-   void addMedication(String name) {
-      if( medication == null )
-         medication = new ArrayList();
-      if(!medication.contains(name))
-         medication.add(name);
-   }
-
-   public Map getHobbies()
-   {
-      return hobbies;
-   }
-
-   public void setHobbies(Map hobbies)
-   {
-      this.hobbies = hobbies;
-   }
-
-   public Address getAddress()
-   {
-      return address;
-   }
-
-   public void setAddress(Address address)
-   {
-      this.address = address;
-   }
-
-   public Set getSkills()
-   {
-      return skills;
-   }
-
-   public void setSkills(Set skills)
-   {
-      this.skills = skills;
-   }
-
-   public List getMedication()
-   {
-      return medication;
-   }
-
-   public void setMedication(List medication)
-   {
-      this.medication = medication;
-   }
-
-   public List getLanguages()
-   {
-      return languages;
-   }
-
-   public void setLanguages(List languages)
-   {
-      this.languages = languages;
-   }
-
-   public String toString()
-   {
-      StringBuffer sb=new StringBuffer();
-      sb.append("name=").append(getName()).append(", age=").append(getAge()).append(", hobbies=")
-            .append(print(getHobbies())).append(", address=").append(getAddress()).append(", skills=")
-            .append(skills).append(", languages=").append(languages).toString();
-      if(medication != null)
-         sb.append(", medication=" + medication);
-      return sb.toString();
-   }
-
-   public String print(Map m)
-   {
-      StringBuffer sb = new StringBuffer();
-      Map.Entry entry;
-      if (m != null) {
-         for (Iterator it = m.entrySet().iterator(); it.hasNext();) {
-            entry = (Map.Entry) it.next();
-            sb.append(entry.getKey()).append(": ").append(entry.getValue());
-            sb.append("\n");
-         }
-      }
-      return sb.toString();
-   }
-}

Modified: trunk/testsuite/src/main/org/jboss/test/cluster/classloader/leak/web/ReplicableServlet.java
===================================================================
--- trunk/testsuite/src/main/org/jboss/test/cluster/classloader/leak/web/ReplicableServlet.java	2008-06-16 19:10:47 UTC (rev 74639)
+++ trunk/testsuite/src/main/org/jboss/test/cluster/classloader/leak/web/ReplicableServlet.java	2008-06-16 20:29:49 UTC (rev 74640)
@@ -32,8 +32,8 @@
 import javax.servlet.http.HttpServletResponse;
 import javax.servlet.http.HttpSession;
 
-import org.jboss.test.cluster.classloader.leak.web.aop.Address;
-import org.jboss.test.cluster.classloader.leak.web.aop.Person;
+import org.jboss.test.classloader.leak.aop.Address;
+import org.jboss.test.classloader.leak.aop.Person;
 
 public class ReplicableServlet extends HttpServlet
 {

Modified: trunk/testsuite/src/main/org/jboss/test/cluster/classloader/leak/web/SimpleServlet.java
===================================================================
--- trunk/testsuite/src/main/org/jboss/test/cluster/classloader/leak/web/SimpleServlet.java	2008-06-16 19:10:47 UTC (rev 74639)
+++ trunk/testsuite/src/main/org/jboss/test/cluster/classloader/leak/web/SimpleServlet.java	2008-06-16 20:29:49 UTC (rev 74640)
@@ -32,6 +32,9 @@
 import javax.servlet.http.HttpServletResponse;
 import javax.servlet.http.HttpSession;
 
+import org.jboss.test.classloader.leak.web.Address;
+import org.jboss.test.classloader.leak.web.Person;
+
 public class SimpleServlet extends HttpServlet
 {
    private static final long serialVersionUID = 1L;

Deleted: trunk/testsuite/src/main/org/jboss/test/cluster/classloader/leak/web/aop/Address.java
===================================================================
--- trunk/testsuite/src/main/org/jboss/test/cluster/classloader/leak/web/aop/Address.java	2008-06-16 19:10:47 UTC (rev 74639)
+++ trunk/testsuite/src/main/org/jboss/test/cluster/classloader/leak/web/aop/Address.java	2008-06-16 20:29:49 UTC (rev 74640)
@@ -1,84 +0,0 @@
-/*
-  * JBoss, Home of Professional Open Source
-  * Copyright 2005, JBoss Inc., and individual contributors as indicated
-  * by the @authors tag. See the copyright.txt in the distribution for a
-  * full listing of individual contributors.
-  *
-  * This is free software; you can redistribute it and/or modify it
-  * under the terms of the GNU Lesser General Public License as
-  * published by the Free Software Foundation; either version 2.1 of
-  * the License, or (at your option) any later version.
-  *
-  * This software is distributed in the hope that it will be useful,
-  * but WITHOUT ANY WARRANTY; without even the implied warranty of
-  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-  * Lesser General Public License for more details.
-  *
-  * You should have received a copy of the GNU Lesser General Public
-  * License along with this software; if not, write to the Free
-  * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
-  * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
-  */
-package org.jboss.test.cluster.classloader.leak.web.aop;
-
-import java.io.Serializable;
-
-import org.jboss.cache.pojo.annotation.Replicable;
-
-
-
-/**
- * Test class for PojoCache.
- * Person is a POJO that will be instrumented with CacheInterceptor
- *
- * @version $Revision: 59573 $
- */
- at Replicable
-public class Address implements Serializable
-{
-   /** The serialVersionUID */
-   private static final long serialVersionUID = 4782007386315375402L;
-   
-   String street = null;
-   String city = null;
-   int zip = 0;
-
-   public String getStreet()
-   {
-      return street;
-   }
-
-   public void setStreet(String street)
-   {
-      this.street = street;
-   }
-
-   public String getCity()
-   {
-      return city;
-   }
-
-   public void setCity(String city)
-   {
-      this.city = city;
-   }
-
-   public int getZip()
-   {
-      return zip;
-   }
-
-   public void setZip(int zip)
-   {
-      this.zip = zip;
-   }
-
-   public String toString()
-   {
-      return "street=" + getStreet() + ", city=" + getCity() + ", zip=" + getZip();
-   }
-
-//    public Object writeReplace() {
-//	return this;
-//    }
-}

Deleted: trunk/testsuite/src/main/org/jboss/test/cluster/classloader/leak/web/aop/Person.java
===================================================================
--- trunk/testsuite/src/main/org/jboss/test/cluster/classloader/leak/web/aop/Person.java	2008-06-16 19:10:47 UTC (rev 74639)
+++ trunk/testsuite/src/main/org/jboss/test/cluster/classloader/leak/web/aop/Person.java	2008-06-16 20:29:49 UTC (rev 74640)
@@ -1,194 +0,0 @@
-/*
-  * JBoss, Home of Professional Open Source
-  * Copyright 2005, JBoss Inc., and individual contributors as indicated
-  * by the @authors tag. See the copyright.txt in the distribution for a
-  * full listing of individual contributors.
-  *
-  * This is free software; you can redistribute it and/or modify it
-  * under the terms of the GNU Lesser General Public License as
-  * published by the Free Software Foundation; either version 2.1 of
-  * the License, or (at your option) any later version.
-  *
-  * This software is distributed in the hope that it will be useful,
-  * but WITHOUT ANY WARRANTY; without even the implied warranty of
-  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
-  * Lesser General Public License for more details.
-  *
-  * You should have received a copy of the GNU Lesser General Public
-  * License along with this software; if not, write to the Free
-  * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
-  * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
-  */
-package org.jboss.test.cluster.classloader.leak.web.aop;
-
-import java.io.Serializable;
-import java.util.*;
-
-import org.jboss.cache.pojo.annotation.Replicable;
-
-
-/**
- * Test class for PojoCache.
- * Person is a POJO that will be instrumented with CacheInterceptor
- *
- * @version $Revision: 59573 $
- */
- at Replicable
-public class Person implements Serializable
-{
-   /** The serialVersionUID */
-   private static final long serialVersionUID = -5484997974711804156L;
-   
-   String name = null;
-   int age = 0;
-   Map hobbies = null;
-   Address address = null;
-   Set skills;
-   List languages;
-   // Test for transient field non-replication
-   transient String currentStatus = "Active";
-   // Test swapping out the Collection ref with proxy one
-   // medication will be different when age limit is exceeded.
-   List medication = null;
-   static final int AGE1 = 50;
-   static final int AGE2 = 60;
-
-   public Person() {
-
-   }
-
-   public String getName()
-   {
-      return name;
-   }
-
-   public void setName(String name)
-   {
-      this.name = name;
-   }
-
-   public void setCurrentStatus(String status) {
-      currentStatus = status;
-   }
-
-   public String getCurrentStatus() {
-      return currentStatus;
-   }
-
-   public void setName(Object obj)
-   {
-      this.name = (String)obj;
-   }
-
-   public int getAge()
-   {
-      return age;
-   }
-
-   public void setAge(int age)
-   {
-
-      this.age = age;
-
-      // This will swap out the reference dynamically
-      if(age < AGE1) {
-         if(medication != null) {
-            medication.clear();
-            medication=null;
-         }
-      }
-      else {
-         if( age >= AGE1 ) {
-            addMedication("Lipitor");
-         }
-
-         if (age >= AGE2) {
-            addMedication("Vioxx");
-         }
-      }
-
-
-   }
-
-   void addMedication(String name) {
-      if( medication == null )
-         medication = new ArrayList();
-      if(!medication.contains(name))
-         medication.add(name);
-   }
-
-   public Map getHobbies()
-   {
-      return hobbies;
-   }
-
-   public void setHobbies(Map hobbies)
-   {
-      this.hobbies = hobbies;
-   }
-
-   public Address getAddress()
-   {
-      return address;
-   }
-
-   public void setAddress(Address address)
-   {
-      this.address = address;
-   }
-
-   public Set getSkills()
-   {
-      return skills;
-   }
-
-   public void setSkills(Set skills)
-   {
-      this.skills = skills;
-   }
-
-   public List getMedication()
-   {
-      return medication;
-   }
-
-   public void setMedication(List medication)
-   {
-      this.medication = medication;
-   }
-
-   public List getLanguages()
-   {
-      return languages;
-   }
-
-   public void setLanguages(List languages)
-   {
-      this.languages = languages;
-   }
-
-   public String toString()
-   {
-      StringBuffer sb=new StringBuffer();
-      sb.append("name=").append(getName()).append(", age=").append(getAge()).append(", hobbies=")
-            .append(print(getHobbies())).append(", address=").append(getAddress()).append(", skills=")
-            .append(skills).append(", languages=").append(languages).toString();
-      if(medication != null)
-         sb.append(", medication=" + medication);
-      return sb.toString();
-   }
-
-   public String print(Map m)
-   {
-      StringBuffer sb = new StringBuffer();
-      Map.Entry entry;
-      if (m != null) {
-         for (Iterator it = m.entrySet().iterator(); it.hasNext();) {
-            entry = (Map.Entry) it.next();
-            sb.append(entry.getKey()).append(": ").append(entry.getValue());
-            sb.append("\n");
-         }
-      }
-      return sb.toString();
-   }
-}

Copied: trunk/testsuite/src/resources/classloader/leak/war/nocache/WEB-INF (from rev 74548, trunk/testsuite/src/resources/cluster/classloader/leak/war/nocache/WEB-INF)

Deleted: trunk/testsuite/src/resources/classloader/leak/war/nocache/WEB-INF/web.xml
===================================================================
--- trunk/testsuite/src/resources/cluster/classloader/leak/war/nocache/WEB-INF/web.xml	2008-06-13 19:21:15 UTC (rev 74548)
+++ trunk/testsuite/src/resources/classloader/leak/war/nocache/WEB-INF/web.xml	2008-06-16 20:29:49 UTC (rev 74640)
@@ -1,27 +0,0 @@
-<?xml version="1.0"?>
-<!DOCTYPE web-app PUBLIC
-   "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN"
-   "http://java.sun.com/dtd/web-app_2_3.dtd">
-
-<web-app>
-
-   <!-- NOT distributable
-   <distributable/>
-   -->
-   
-   <!-- Registers an mbean the test driver can use to check the cache state -->
-   <listener>
-     <listener-class>org.jboss.test.classloader.leak.web.ClassloaderLeakContextListener</listener-class>
-   </listener>
-
-   <servlet>
-      <servlet-name>NoCachingServlet</servlet-name>
-      <servlet-class>org.jboss.test.cluster.classloader.leak.web.NoCachingServlet</servlet-class>
-   </servlet>
-
-   <servlet-mapping>
-      <servlet-name>NoCachingServlet</servlet-name>
-      <url-pattern>/SimpleServlet</url-pattern>
-   </servlet-mapping>
-
-</web-app>

Copied: trunk/testsuite/src/resources/classloader/leak/war/nocache/WEB-INF/web.xml (from rev 74639, trunk/testsuite/src/resources/cluster/classloader/leak/war/nocache/WEB-INF/web.xml)
===================================================================
--- trunk/testsuite/src/resources/classloader/leak/war/nocache/WEB-INF/web.xml	                        (rev 0)
+++ trunk/testsuite/src/resources/classloader/leak/war/nocache/WEB-INF/web.xml	2008-06-16 20:29:49 UTC (rev 74640)
@@ -0,0 +1,27 @@
+<?xml version="1.0"?>
+<!DOCTYPE web-app PUBLIC
+   "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN"
+   "http://java.sun.com/dtd/web-app_2_3.dtd">
+
+<web-app>
+
+   <!-- NOT distributable
+   <distributable/>
+   -->
+   
+   <!-- Registers an mbean the test driver can use to check the cache state -->
+   <listener>
+     <listener-class>org.jboss.test.classloader.leak.web.ClassloaderLeakContextListener</listener-class>
+   </listener>
+
+   <servlet>
+      <servlet-name>NoCachingServlet</servlet-name>
+      <servlet-class>org.jboss.test.classloader.leak.web.NoCachingServlet</servlet-class>
+   </servlet>
+
+   <servlet-mapping>
+      <servlet-name>NoCachingServlet</servlet-name>
+      <url-pattern>/SimpleServlet</url-pattern>
+   </servlet-mapping>
+
+</web-app>

Copied: trunk/testsuite/src/resources/classloader/leak/war/nocache/noreplicable/WEB-INF (from rev 74548, trunk/testsuite/src/resources/cluster/classloader/leak/war/nocache/noreplicable/WEB-INF)

Deleted: trunk/testsuite/src/resources/classloader/leak/war/nocache/noreplicable/WEB-INF/web.xml
===================================================================
--- trunk/testsuite/src/resources/cluster/classloader/leak/war/nocache/noreplicable/WEB-INF/web.xml	2008-06-13 19:21:15 UTC (rev 74548)
+++ trunk/testsuite/src/resources/classloader/leak/war/nocache/noreplicable/WEB-INF/web.xml	2008-06-16 20:29:49 UTC (rev 74640)
@@ -1,27 +0,0 @@
-<?xml version="1.0"?>
-<!DOCTYPE web-app PUBLIC
-   "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN"
-   "http://java.sun.com/dtd/web-app_2_3.dtd">
-
-<web-app>
-
-   <!-- NOT distributable
-   <distributable/>
-   -->
-   
-   <!-- Registers an mbean the test driver can use to check the cache state -->
-   <listener>
-     <listener-class>org.jboss.test.classloader.leak.web.ClassloaderLeakContextListener</listener-class>
-   </listener>
-
-   <servlet>
-      <servlet-name>NoCachingNoReplicableServlet</servlet-name>
-      <servlet-class>org.jboss.test.cluster.classloader.leak.web.NoCachingNoReplicableServlet</servlet-class>
-   </servlet>
-
-   <servlet-mapping>
-      <servlet-name>NoCachingNoReplicableServlet</servlet-name>
-      <url-pattern>/SimpleServlet</url-pattern>
-   </servlet-mapping>
-
-</web-app>

Copied: trunk/testsuite/src/resources/classloader/leak/war/nocache/noreplicable/WEB-INF/web.xml (from rev 74639, trunk/testsuite/src/resources/cluster/classloader/leak/war/nocache/noreplicable/WEB-INF/web.xml)
===================================================================
--- trunk/testsuite/src/resources/classloader/leak/war/nocache/noreplicable/WEB-INF/web.xml	                        (rev 0)
+++ trunk/testsuite/src/resources/classloader/leak/war/nocache/noreplicable/WEB-INF/web.xml	2008-06-16 20:29:49 UTC (rev 74640)
@@ -0,0 +1,27 @@
+<?xml version="1.0"?>
+<!DOCTYPE web-app PUBLIC
+   "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN"
+   "http://java.sun.com/dtd/web-app_2_3.dtd">
+
+<web-app>
+
+   <!-- NOT distributable
+   <distributable/>
+   -->
+   
+   <!-- Registers an mbean the test driver can use to check the cache state -->
+   <listener>
+     <listener-class>org.jboss.test.classloader.leak.web.ClassloaderLeakContextListener</listener-class>
+   </listener>
+
+   <servlet>
+      <servlet-name>NoCachingNoReplicableServlet</servlet-name>
+      <servlet-class>org.jboss.test.classloader.leak.web.NoCachingNoReplicableServlet</servlet-class>
+   </servlet>
+
+   <servlet-mapping>
+      <servlet-name>NoCachingNoReplicableServlet</servlet-name>
+      <url-pattern>/SimpleServlet</url-pattern>
+   </servlet-mapping>
+
+</web-app>

Copied: trunk/testsuite/src/resources/classloader/leak/war/nocache/simple.jsp (from rev 74548, trunk/testsuite/src/resources/cluster/classloader/leak/war/nocache/simple.jsp)
===================================================================
--- trunk/testsuite/src/resources/classloader/leak/war/nocache/simple.jsp	                        (rev 0)
+++ trunk/testsuite/src/resources/classloader/leak/war/nocache/simple.jsp	2008-06-16 20:29:49 UTC (rev 74640)
@@ -0,0 +1,9 @@
+<%@page contentType="text/html"%>
+<%
+  // We really don't care about jsps in this test; this jsp is just here
+  // to meet the demands of test superclass that wants to invoke it
+  org.jboss.test.classloader.leak.clstore.ClassLoaderStore.getInstance().storeClassLoader("JSP", getClass().getClassLoader());
+  org.jboss.test.classloader.leak.clstore.ClassLoaderStore.getInstance().storeClassLoader("JSP_TCCL", Thread.currentThread().getContextClassLoader());
+
+%>
+WEBAPP
\ No newline at end of file

Deleted: trunk/testsuite/src/resources/cluster/classloader/leak/war/nocache/simple.jsp
===================================================================
--- trunk/testsuite/src/resources/cluster/classloader/leak/war/nocache/simple.jsp	2008-06-16 19:10:47 UTC (rev 74639)
+++ trunk/testsuite/src/resources/cluster/classloader/leak/war/nocache/simple.jsp	2008-06-16 20:29:49 UTC (rev 74640)
@@ -1,9 +0,0 @@
-<%@page contentType="text/html"%>
-<%
-  // We really don't care about jsps in this test; this jsp is just here
-  // to meet the demands of test superclass that wants to invoke it
-  org.jboss.test.classloader.leak.clstore.ClassLoaderStore.getInstance().storeClassLoader("JSP", getClass().getClassLoader());
-  org.jboss.test.classloader.leak.clstore.ClassLoaderStore.getInstance().storeClassLoader("JSP_TCCL", Thread.currentThread().getContextClassLoader());
-
-%>
-WEBAPP
\ No newline at end of file

Added: trunk/testsuite/src/resources/cluster/classloader/leak/war/nopass/WEB-INF/jboss-web.xml
===================================================================
--- trunk/testsuite/src/resources/cluster/classloader/leak/war/nopass/WEB-INF/jboss-web.xml	                        (rev 0)
+++ trunk/testsuite/src/resources/cluster/classloader/leak/war/nopass/WEB-INF/jboss-web.xml	2008-06-16 20:29:49 UTC (rev 74640)
@@ -0,0 +1,28 @@
+  <!DOCTYPE jboss-web PUBLIC
+    "-//JBoss//DTD Web Application 5.0//EN"
+    "http://www.jboss.org/j2ee/dtd/jboss-web_5_0.dtd">
+
+<jboss-web>
+<!--
+   <class-loading>
+   <loader-repository>jboss.web:loader=testHA</loader-repository>
+   </class-loading>
+-->
+
+   <!-- To avoid a custom config, use the jmx-console security domain -->
+   <security-domain>java:/jaas/jmx-console</security-domain>
+   
+   <context-root>/clustered-clleak</context-root>
+   
+   <replication-config>
+      <replication-granularity>SESSION</replication-granularity>
+      <replication-field-batch-mode>TRUE</replication-field-batch-mode>
+   </replication-config>
+   <max-active-sessions>20</max-active-sessions>
+   <passivation-config>
+      <use-session-passivation>false</use-session-passivation>
+      <passivation-min-idle-time>5</passivation-min-idle-time>
+      <passivation-max-idle-time>10</passivation-max-idle-time>
+   </passivation-config>
+   
+</jboss-web>


Property changes on: trunk/testsuite/src/resources/cluster/classloader/leak/war/nopass/WEB-INF/jboss-web.xml
___________________________________________________________________
Name: svn:executable
   + *

Added: trunk/testsuite/src/resources/cluster/classloader/leak/war/nopass/WEB-INF/web.xml
===================================================================
--- trunk/testsuite/src/resources/cluster/classloader/leak/war/nopass/WEB-INF/web.xml	                        (rev 0)
+++ trunk/testsuite/src/resources/cluster/classloader/leak/war/nopass/WEB-INF/web.xml	2008-06-16 20:29:49 UTC (rev 74640)
@@ -0,0 +1,25 @@
+<?xml version="1.0"?>
+<!DOCTYPE web-app PUBLIC
+   "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN"
+   "http://java.sun.com/dtd/web-app_2_3.dtd">
+
+<web-app>
+
+   <distributable/>
+
+   <!-- Registers an mbean the test driver can use to check the cache state -->
+   <listener>
+     <listener-class>org.jboss.test.classloader.leak.web.ClassloaderLeakContextListener</listener-class>
+   </listener>
+
+   <servlet>
+      <servlet-name>SimpleServlet</servlet-name>
+      <servlet-class>org.jboss.test.cluster.classloader.leak.web.SimpleServlet</servlet-class>
+   </servlet>
+
+   <servlet-mapping>
+      <servlet-name>SimpleServlet</servlet-name>
+      <url-pattern>/SimpleServlet</url-pattern>
+   </servlet-mapping>
+
+</web-app>


Property changes on: trunk/testsuite/src/resources/cluster/classloader/leak/war/nopass/WEB-INF/web.xml
___________________________________________________________________
Name: svn:executable
   + *




More information about the jboss-cvs-commits mailing list