[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