You are viewing a plain text version of this content. The canonical link for it is here.
Posted to cactus-dev@jakarta.apache.org by vm...@apache.org on 2004/01/18 12:03:05 UTC
cvs commit: jakarta-cactus/integration/ant/src/confs/share/resin2x resin.conf
vmassol 2004/01/18 03:03:05
Modified: integration/ant/src/java/org/apache/cactus/integration/ant/container
default.properties AbstractServerRun.java
integration/ant/src/java/org/apache/cactus/integration/ant/container/enhydra
EnhydraRun.java
integration/ant build.xml
samples/servlet build.properties.sample
documentation/docs/xdocs changes.xml
. build.properties.sample build.properties.vmassol
integration/ant/src/java/org/apache/cactus/integration/ant/container/resin
Resin2xContainer.java ResinRun.java
AbstractResinContainer.java
samples/servlet/src/scripts/j2ee12 build.properties
samples/servlet/src/scripts/share build.xml
samples/servlet/src/scripts/j2ee13 build.properties
integration/ant/src/confs/share/resin2x resin.conf
Added: integration/ant/src/java/org/apache/cactus/integration/ant/container/resin
Resin3xContainer.java
integration/ant/src/confs/share/resin3x app-default.xml
resin.conf
Log:
- Added support for Resin 3.x
- Several refactorings performed to support Resin 3.x
- Note that one test is not passing with Resin 3.x (testGetResponseAsStringMultiLines). We need to find out if this is because Resin 3.x has a bug or whether our test suite is buggy
Revision Changes Path
1.7 +1 -0 jakarta-cactus/integration/ant/src/java/org/apache/cactus/integration/ant/container/default.properties
Index: default.properties
===================================================================
RCS file: /home/cvs/jakarta-cactus/integration/ant/src/java/org/apache/cactus/integration/ant/container/default.properties,v
retrieving revision 1.6
retrieving revision 1.7
diff -u -r1.6 -r1.7
--- default.properties 23 Nov 2003 18:26:51 -0000 1.6
+++ default.properties 18 Jan 2004 11:03:04 -0000 1.7
@@ -2,6 +2,7 @@
orion1x = org.apache.cactus.integration.ant.container.orion.Orion1xContainer
orion2x = org.apache.cactus.integration.ant.container.orion.Orion2xContainer
resin2x = org.apache.cactus.integration.ant.container.resin.Resin2xContainer
+resin3x = org.apache.cactus.integration.ant.container.resin.Resin3xContainer
tomcat3x = org.apache.cactus.integration.ant.container.tomcat.Tomcat3xContainer
tomcat4x = org.apache.cactus.integration.ant.container.tomcat.Tomcat4xContainer
tomcat5x = org.apache.cactus.integration.ant.container.tomcat.Tomcat5xContainer
1.4 +15 -6 jakarta-cactus/integration/ant/src/java/org/apache/cactus/integration/ant/container/AbstractServerRun.java
Index: AbstractServerRun.java
===================================================================
RCS file: /home/cvs/jakarta-cactus/integration/ant/src/java/org/apache/cactus/integration/ant/container/AbstractServerRun.java,v
retrieving revision 1.3
retrieving revision 1.4
diff -u -r1.3 -r1.4
--- AbstractServerRun.java 26 May 2003 09:43:00 -0000 1.3
+++ AbstractServerRun.java 18 Jan 2004 11:03:04 -0000 1.4
@@ -97,6 +97,11 @@
private boolean isStarted = false;
/**
+ * Thread in which the server is running
+ */
+ private Thread runningServerThread;
+
+ /**
* @param theArgs the command line arguments
*/
public AbstractServerRun(String[] theArgs)
@@ -117,9 +122,13 @@
* was started.
*
* @param theArgs the command line arguments
+ * @param theRunningServerThread the thread in which the server is running.
+ * This is useful for example if there is no simple way to stop the
+ * server and thus you need to simply try to stop the running thread.
* @exception Exception if any error happens when stopping the server
*/
- protected abstract void doStopServer(String[] theArgs) throws Exception;
+ protected abstract void doStopServer(String[] theArgs,
+ Thread theRunningServerThread) throws Exception;
/**
* Parse and process the command line to start/stop the server.
@@ -188,11 +197,11 @@
throw new RuntimeException("Error starting server");
}
-
// Server is now started
this.isStarted = true;
-
- new Thread(this).start();
+
+ this.runningServerThread = new Thread(this);
+ this.runningServerThread.start();
}
/**
@@ -264,7 +273,7 @@
// Stop server
try
{
- this.doStopServer(this.args);
+ this.doStopServer(this.args, this.runningServerThread);
}
catch (Exception e)
{
1.5 +3 -2 jakarta-cactus/integration/ant/src/java/org/apache/cactus/integration/ant/container/enhydra/EnhydraRun.java
Index: EnhydraRun.java
===================================================================
RCS file: /home/cvs/jakarta-cactus/integration/ant/src/java/org/apache/cactus/integration/ant/container/enhydra/EnhydraRun.java,v
retrieving revision 1.4
retrieving revision 1.5
diff -u -r1.4 -r1.5
--- EnhydraRun.java 26 May 2003 09:42:59 -0000 1.4
+++ EnhydraRun.java 18 Jan 2004 11:03:04 -0000 1.5
@@ -121,7 +121,8 @@
*
* @see AbstractServerRun#doStopServer
*/
- protected final void doStopServer(String[] theArgs)
+ protected final void doStopServer(String[] theArgs,
+ Thread theRunningServerThread) throws Exception
{
try
{
1.50 +2 -1 jakarta-cactus/integration/ant/build.xml
Index: build.xml
===================================================================
RCS file: /home/cvs/jakarta-cactus/integration/ant/build.xml,v
retrieving revision 1.49
retrieving revision 1.50
diff -u -r1.49 -r1.50
--- build.xml 10 Dec 2003 20:25:16 -0000 1.49
+++ build.xml 18 Jan 2004 11:03:04 -0000 1.50
@@ -138,6 +138,7 @@
<include name="orion1x/**/*.*"/>
<include name="orion2x/**/*.*"/>
<include name="resin2x/**/*.*"/>
+ <include name="resin3x/**/*.*"/>
<include name="tomcat4x/**/*.*"/>
<include name="tomcat5x/**/*.*"/>
<include name="weblogic6x/**/*.*"/>
1.21 +2 -1 jakarta-cactus/samples/servlet/build.properties.sample
Index: build.properties.sample
===================================================================
RCS file: /home/cvs/jakarta-cactus/samples/servlet/build.properties.sample,v
retrieving revision 1.20
retrieving revision 1.21
diff -u -r1.20 -r1.21
--- build.properties.sample 9 Jan 2004 12:58:27 -0000 1.20
+++ build.properties.sample 18 Jan 2004 11:03:04 -0000 1.21
@@ -53,6 +53,7 @@
# tests on Resin 2.x, comment the "cactus.home.resin2x" property.
#cactus.home.resin2x = c:/Apps/resin-2.1.11
+#cactus.home.resin3x = c:/Apps/resin-3.0.5
#cactus.home.tomcat3x = c:/Apps/jakarta-tomcat-3.3.1a
#cactus.home.tomcat4x = c:/Apps/jakarta-tomcat-4.1.29
#cactus.home.tomcat5x = c:/Apps/jakarta-tomcat-5.0.14
1.154 +4 -0 jakarta-cactus/documentation/docs/xdocs/changes.xml
Index: changes.xml
===================================================================
RCS file: /home/cvs/jakarta-cactus/documentation/docs/xdocs/changes.xml,v
retrieving revision 1.153
retrieving revision 1.154
diff -u -r1.153 -r1.154
--- changes.xml 16 Jan 2004 08:48:01 -0000 1.153
+++ changes.xml 18 Jan 2004 11:03:04 -0000 1.154
@@ -69,6 +69,10 @@
<release version="1.6dev" date="in CVS">
<action dev="VMA" type="add">
+ Added support for Resin 3.x in the Ant integration. Note that
+ Servlet API 2.4/JSP 2.0 are not yet supported by Cactus.
+ </action>
+ <action dev="VMA" type="add">
In the Ant integration, added new <code>contextxml</code> attributes
to the <code><tomcat4x></code> nested elements of the
<code><cactus></code> task. This is to support the context xml
1.96 +2 -1 jakarta-cactus/build.properties.sample
Index: build.properties.sample
===================================================================
RCS file: /home/cvs/jakarta-cactus/build.properties.sample,v
retrieving revision 1.95
retrieving revision 1.96
diff -u -r1.95 -r1.96
--- build.properties.sample 9 Jan 2004 13:53:52 -0000 1.95
+++ build.properties.sample 18 Jan 2004 11:03:05 -0000 1.96
@@ -177,6 +177,7 @@
# tests on Resin 2.x, comment the "cactus.home.resin2x" property.
#cactus.home.resin2x = c:/Apps/resin-2.1.11
+#cactus.home.resin3x = c:/Apps/resin-3.0.5
#cactus.home.tomcat3x = c:/Apps/jakarta-tomcat-3.3.1a
#cactus.home.tomcat4x = c:/Apps/jakarta-tomcat-4.1.29
#cactus.home.tomcat5x = c:/Apps/jakarta-tomcat-5.0.14
1.6 +2 -1 jakarta-cactus/build.properties.vmassol
Index: build.properties.vmassol
===================================================================
RCS file: /home/cvs/jakarta-cactus/build.properties.vmassol,v
retrieving revision 1.5
retrieving revision 1.6
diff -u -r1.5 -r1.6
--- build.properties.vmassol 23 Nov 2003 18:12:16 -0000 1.5
+++ build.properties.vmassol 18 Jan 2004 11:03:05 -0000 1.6
@@ -163,6 +163,7 @@
# tests on Resin 2.x, comment the "cactus.home.resin2x" property.
cactus.home.resin2x = c:/Apps/resin-2.1.11
+#cactus.home.resin3x = c:/Apps/resin-3.0.5
#cactus.home.tomcat3x = c:/Apps/jakarta-tomcat-3.3.1a
#cactus.home.tomcat4x = c:/Apps/jakarta-tomcat-4.1.29
#cactus.home.tomcat5x = c:/Apps/jakarta-tomcat-5.0.14
1.9 +21 -1 jakarta-cactus/integration/ant/src/java/org/apache/cactus/integration/ant/container/resin/Resin2xContainer.java
Index: Resin2xContainer.java
===================================================================
RCS file: /home/cvs/jakarta-cactus/integration/ant/src/java/org/apache/cactus/integration/ant/container/resin/Resin2xContainer.java,v
retrieving revision 1.8
retrieving revision 1.9
diff -u -r1.8 -r1.9
--- Resin2xContainer.java 30 Nov 2003 10:22:22 -0000 1.8
+++ Resin2xContainer.java 18 Jan 2004 11:03:05 -0000 1.9
@@ -56,6 +56,10 @@
*/
package org.apache.cactus.integration.ant.container.resin;
+import org.apache.tools.ant.taskdefs.Java;
+import org.apache.tools.ant.types.FilterChain;
+import org.apache.tools.ant.types.Path;
+
/**
* Special container support for the Caucho Resin 2.x servlet container.
*
@@ -84,5 +88,21 @@
protected final String getContainerDirName()
{
return "resin2x";
+ }
+
+ /**
+ * @see AbstractResinContainer#startUpAdditions(Java, Path)
+ */
+ protected void startUpAdditions(Java theJavaContainer, Path theClasspath)
+ {
+ // Nothing additional required
+ }
+
+ /**
+ * @see AbstractResinContainer#prepareAdditions(FilterChain)
+ */
+ protected void prepareAdditions(FilterChain theFilterChain)
+ {
+ // Nothing additional required
}
}
1.5 +162 -34 jakarta-cactus/integration/ant/src/java/org/apache/cactus/integration/ant/container/resin/ResinRun.java
Index: ResinRun.java
===================================================================
RCS file: /home/cvs/jakarta-cactus/integration/ant/src/java/org/apache/cactus/integration/ant/container/resin/ResinRun.java,v
retrieving revision 1.4
retrieving revision 1.5
diff -u -r1.4 -r1.5
--- ResinRun.java 26 May 2003 09:42:59 -0000 1.4
+++ ResinRun.java 18 Jan 2004 11:03:05 -0000 1.5
@@ -3,7 +3,7 @@
*
* The Apache Software License, Version 1.1
*
- * Copyright (c) 2001-2003 The Apache Software Foundation. All rights
+ * Copyright (c) 2001-2004 The Apache Software Foundation. All rights
* reserved.
*
* Redistribution and use in source and binary forms, with or without
@@ -57,19 +57,20 @@
package org.apache.cactus.integration.ant.container.resin;
import java.lang.reflect.Constructor;
+import java.lang.reflect.Field;
import java.lang.reflect.Method;
import java.util.ArrayList;
import org.apache.cactus.integration.ant.container.AbstractServerRun;
/**
- * Starts/stop Resin by setting up a listener socket.
+ * Starts/stop Resin by setting up a listener socket. Supports Resin 2.0.x,
+ * 2.1.x and 3.x.
*
* @author <a href="mailto:vmassol@apache.org">Vincent Massol</a>
* @author <a href="mailto:digital@ix.net.au">Robert Leftwich</a>
*
* @version $Id$
- * @see AbstractServerRun
*/
public class ResinRun extends AbstractServerRun
{
@@ -110,80 +111,207 @@
{
try
{
- Class resinClass =
- Class.forName("com.caucho.server.http.ResinServer");
- Constructor constructor = resinClass.getConstructor(
- new Class[] {theArgs.getClass(), boolean.class});
-
- this.resinServer = constructor.newInstance(
- new Object[] {theArgs, Boolean.TRUE});
-
- // Try Resin 2.0 first
- try
+ if (isResinVersion("2.0"))
+ {
+ startResin20x(theArgs);
+ }
+ else if (isResinVersion("2.1"))
{
- startResin20(this.resinServer);
+ startResin21x(theArgs);
}
- catch (NoSuchMethodException nsme)
+ else if (isResinVersion("3"))
{
- // Try Resin 2.1
- startResin21(this.resinServer);
+ startResin3x(theArgs);
+ }
+ else
+ {
+ throw new RuntimeException("Unsupported Resin version ["
+ + getResinVersion() + "]");
}
}
catch (Exception e)
{
e.printStackTrace();
- throw new RuntimeException("Cannot create instance of ResinServer");
+ throw new RuntimeException("Failed to start Resin server");
}
}
/**
* Starts Resin 2.0.x
*
- * @param theResinServer the <code>ResinServer</code> instance
+ * @param theArgs the command line arguments for starting the server
* @throws Exception if an error happens when starting the server
*/
- private void startResin20(Object theResinServer) throws Exception
+ private void startResin20x(String[] theArgs) throws Exception
{
- Method initMethod = theResinServer.getClass().getMethod("init",
+ Class resinClass =
+ Class.forName("com.caucho.server.http.ResinServer");
+ Constructor constructor = resinClass.getConstructor(
+ new Class[] {theArgs.getClass(), boolean.class});
+
+ this.resinServer = constructor.newInstance(
+ new Object[] {theArgs, Boolean.TRUE});
+
+ Method initMethod = this.resinServer.getClass().getMethod("init",
new Class[] {boolean.class});
- initMethod.invoke(theResinServer, new Object[] {Boolean.TRUE});
+ initMethod.invoke(this.resinServer, new Object[] {Boolean.TRUE});
}
/**
* Starts Resin 2.1.x
*
- * @param theResinServer the <code>ResinServer</code> instance
+ * @param theArgs the command line arguments for starting the server
* @throws Exception if an error happens when starting the server
*/
- private void startResin21(Object theResinServer) throws Exception
+ private void startResin21x(String[] theArgs) throws Exception
{
- Method initMethod = theResinServer.getClass().getMethod("init",
+ Class resinClass =
+ Class.forName("com.caucho.server.http.ResinServer");
+ Constructor constructor = resinClass.getConstructor(
+ new Class[] {theArgs.getClass(), boolean.class});
+
+ this.resinServer = constructor.newInstance(
+ new Object[] {theArgs, Boolean.TRUE});
+
+ Method initMethod = this.resinServer.getClass().getMethod("init",
new Class[] {ArrayList.class});
- initMethod.invoke(theResinServer, new Object[] {null});
+ initMethod.invoke(this.resinServer, new Object[] {null});
}
/**
+ * Starts Resin 3.x
+ *
+ * @param theArgs the command line arguments for starting the server
+ * @throws Exception if an error happens when starting the server
+ */
+ private void startResin3x(final String[] theArgs) throws Exception
+ {
+ // Start the server in another thread so that it doesn't block
+ // the current thread. It seems that Resin 3.x is acting differently
+ // than Resin 2.x which was not blocking and thus which did not need
+ // to be started in a separate thread.
+ Thread startThread = new Thread()
+ {
+ public void run()
+ {
+ try
+ {
+ Class resinClass =
+ Class.forName("com.caucho.server.http.ResinServer");
+
+ Method mainMethod = resinClass.getMethod("main",
+ new Class[] {String[].class});
+
+ mainMethod.invoke(null, new Object[] {theArgs});
+ }
+ catch (Exception e)
+ {
+ throw new RuntimeException(
+ "Failed to start Resin 3.x. Error = ["
+ + e.getMessage() + "]");
+ }
+ }
+ };
+ startThread.start();
+ }
+
+ /**
* Stops the Resin server. We use reflection so that the Resin jars do not
* need to be in the classpath to compile this class.
*
* @see AbstractServerRun#doStopServer
*/
- protected final void doStopServer(String[] theArgs)
+ protected final void doStopServer(String[] theArgs,
+ Thread theRunningServerThread)
{
try
{
- Method closeMethod = this.resinServer.getClass().getMethod(
- "close", null);
-
- closeMethod.invoke(this.resinServer, null);
+ if (isResinVersion("2.0"))
+ {
+ stopResin20x(theArgs);
+ }
+ else if (isResinVersion("2.1"))
+ {
+ stopResin20x(theArgs);
+ }
+ else if (isResinVersion("3"))
+ {
+ stopResin3x(theArgs, theRunningServerThread);
+ }
+ else
+ {
+ throw new RuntimeException("Unsupported Resin version ["
+ + getResinVersion() + "]");
+ }
}
catch (Exception e)
{
e.printStackTrace();
- throw new RuntimeException("Cannot stop running instance of "
- + "ResinServer");
+ throw new RuntimeException(
+ "Failed to stop the running Resin server");
+ }
+ }
+
+ /**
+ * Stops Resin 2.0.x and 2.1.x versions.
+ *
+ * @param theArgs the command line arguments for starting the server
+ * @throws Exception if an error happens when starting the server
+ */
+ private void stopResin20x(String[] theArgs) throws Exception
+ {
+ Method closeMethod = this.resinServer.getClass().getMethod(
+ "close", null);
+
+ closeMethod.invoke(this.resinServer, null);
+ }
+
+ /**
+ * Stops Resin 3.x.
+ *
+ * @param theArgs the command line arguments for starting the server
+ * @param theRunningServerThread the thread in which the server is running
+ * @throws Exception if an error happens when starting the server
+ */
+ private void stopResin3x(String[] theArgs,
+ Thread theRunningServerThread) throws Exception
+ {
+ // As we don't know how to properly stop a running Resin server,
+ // we simply try to kill the thread in which it is running.
+ // Not clean...
+ theRunningServerThread.stop();
+ }
+
+ /**
+ * @return the Resin version
+ */
+ private String getResinVersion()
+ {
+ String version;
+
+ try
+ {
+ Class versionClass = Class.forName("com.caucho.Version");
+ Field versionField = versionClass.getField("VERSION");
+ version = (String) versionField.get(null);
+ }
+ catch (Exception e)
+ {
+ throw new RuntimeException("Cannot get Resin version. Error = ["
+ + e.getMessage() + "]");
}
+
+ return version;
+ }
+
+ /**
+ * @param theVersionPrefix the version prefix to test for
+ * @return true if the Resin version starts with versionPrefix
+ */
+ private boolean isResinVersion(String theVersionPrefix)
+ {
+ return getResinVersion().startsWith(theVersionPrefix);
}
}
1.2 +62 -12 jakarta-cactus/integration/ant/src/java/org/apache/cactus/integration/ant/container/resin/AbstractResinContainer.java
Index: AbstractResinContainer.java
===================================================================
RCS file: /home/cvs/jakarta-cactus/integration/ant/src/java/org/apache/cactus/integration/ant/container/resin/AbstractResinContainer.java,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- AbstractResinContainer.java 30 Nov 2003 10:22:22 -0000 1.1
+++ AbstractResinContainer.java 18 Jan 2004 11:03:05 -0000 1.2
@@ -3,7 +3,7 @@
*
* The Apache Software License, Version 1.1
*
- * Copyright (c) 2003 The Apache Software Foundation. All rights
+ * Copyright (c) 2003-2004 The Apache Software Foundation. All rights
* reserved.
*
* Redistribution and use in source and binary forms, with or without
@@ -80,7 +80,7 @@
// Instance Variables ------------------------------------------------------
/**
- * The Resin 2.x installation directory.
+ * The Resin installation directory.
*/
private File dir;
@@ -114,7 +114,6 @@
/**
* Sets the configuration file to use for the test installation of Resin
- * 2.x.
*
* @param theResinConf The resin.conf file
*/
@@ -160,9 +159,9 @@
*/
public final void init()
{
- if (!this.dir.isDirectory())
+ if (!getDir().isDirectory())
{
- throw new BuildException(this.dir + " is not a directory");
+ throw new BuildException(getDir() + " is not a directory");
}
}
@@ -181,15 +180,19 @@
Path classpath = java.createClasspath();
classpath.createPathElement().setLocation(
ResourceUtils.getResourceLocation("/"
- + ResinRun.class.getName().replace('.', '/') + ".class"));
+ + ResinRun.class.getName().replace('.', '/') + ".class"));
FileSet fileSet = new FileSet();
- fileSet.setDir(this.dir);
+ fileSet.setDir(getDir());
fileSet.createInclude().setName("lib/*.jar");
classpath.addFileset(fileSet);
java.setClassname(ResinRun.class.getName());
java.createArg().setValue("-start");
java.createArg().setValue("-conf");
java.createArg().setFile(new File(tmpDir, "resin.conf"));
+
+ // Add settings specific to a given container version
+ startUpAdditions(java, classpath);
+
java.execute();
}
catch (IOException ioe)
@@ -213,7 +216,7 @@
ResourceUtils.getResourceLocation("/"
+ ResinRun.class.getName().replace('.', '/') + ".class"));
FileSet fileSet = new FileSet();
- fileSet.setDir(this.dir);
+ fileSet.setDir(getDir());
fileSet.createInclude().setName("lib/*.jar");
classpath.addFileset(fileSet);
java.setClassname(ResinRun.class.getName());
@@ -221,7 +224,29 @@
java.execute();
}
- // Private Methods ---------------------------------------------------------
+ // Protected Methods -------------------------------------------------------
+
+ /**
+ * Allow specific version implementations to add custom settings to the
+ * Java container that will be started.
+ *
+ * @param theJavaContainer the Ant Java object that will start the container
+ * @param theClasspath the classpath that will be used to start the
+ * container
+ */
+ protected abstract void startUpAdditions(Java theJavaContainer,
+ Path theClasspath);
+
+ /**
+ * Allow specific version implementations to add custom preparation steps
+ * before the container is started.
+ *
+ * @param theFilterChain the filter chain used to replace Ant tokens in
+ * configuration
+ * @exception IOException in case of an error
+ */
+ protected abstract void prepareAdditions(FilterChain theFilterChain)
+ throws IOException;
/**
* @return the name of the directory where the container will be set up
@@ -229,6 +254,25 @@
protected abstract String getContainerDirName();
/**
+ * @return the directory where Resin is installed
+ */
+ protected final File getDir()
+ {
+ return this.dir;
+ }
+
+ /**
+ * @return The temporary directory from which the container will be
+ * started.
+ */
+ protected final File getTmpDir()
+ {
+ return this.tmpDir;
+ }
+
+ // Private Methods ---------------------------------------------------------
+
+ /**
* Prepares a temporary installation of the container and deploys the
* web-application.
*
@@ -257,9 +301,15 @@
RESOURCE_PATH + getContainerDirName() + "/resin.conf",
new File(tmpDir, "resin.conf"), filterChain);
}
-
+
+ // deploy the web-app by copying the WAR file into the webapps
+ // directory
+ File webappsDir = createDirectory(tmpDir, "webapps");
fileUtils.copyFile(getDeployableFile().getFile(),
- new File(tmpDir, getDeployableFile().getFile().getName()),
+ new File(webappsDir, getDeployableFile().getFile().getName()),
null, true);
+
+ // Add preparation steps specific to a given container version
+ prepareAdditions(filterChain);
}
}
1.1 jakarta-cactus/integration/ant/src/java/org/apache/cactus/integration/ant/container/resin/Resin3xContainer.java
Index: Resin3xContainer.java
===================================================================
/*
* ====================================================================
*
* The Apache Software License, Version 1.1
*
* Copyright (c) 2004 The Apache Software Foundation. All rights
* reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
* are met:
*
* 1. Redistributions of source code must retain the above copyright
* notice, this list of conditions and the following disclaimer.
*
* 2. Redistributions in binary form must reproduce the above copyright
* notice, this list of conditions and the following disclaimer in
* the documentation and/or other materials provided with the
* distribution.
*
* 3. The end-user documentation included with the redistribution, if
* any, must include the following acknowlegement:
* "This product includes software developed by the
* Apache Software Foundation (http://www.apache.org/)."
* Alternately, this acknowlegement may appear in the software itself,
* if and wherever such third-party acknowlegements normally appear.
*
* 4. The names "The Jakarta Project", "Cactus" and "Apache Software
* Foundation" must not be used to endorse or promote products
* derived from this software without prior written permission. For
* written permission, please contact apache@apache.org.
*
* 5. Products derived from this software may not be called "Apache"
* nor may "Apache" appear in their names without prior written
* permission of the Apache Group.
*
* THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
* WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
* OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
* DISCLAIMED. IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
* ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
* USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
* OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
* OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
* SUCH DAMAGE.
* ====================================================================
*
* This software consists of voluntary contributions made by many
* individuals on behalf of the Apache Software Foundation. For more
* information on the Apache Software Foundation, please see
* <http://www.apache.org/>.
*
*/
package org.apache.cactus.integration.ant.container.resin;
import java.io.File;
import java.io.IOException;
import org.apache.cactus.integration.ant.util.ResourceUtils;
import org.apache.tools.ant.taskdefs.Java;
import org.apache.tools.ant.types.FilterChain;
import org.apache.tools.ant.types.Path;
/**
* Special container support for the Caucho Resin 3.x servlet container.
*
* @author <a href="mailto:vmassol@apache.org">Vincent Massol</a>
*
* @version $Id: Resin3xContainer.java,v 1.1 2004/01/18 11:03:05 vmassol Exp $
*/
public class Resin3xContainer extends AbstractResinContainer
{
// AbstractContainer Implementation ----------------------------------------
/**
* @see org.apache.cactus.integration.ant.container.Container#getName
*/
public final String getName()
{
return "Resin 3.x";
}
// AbstractResinContainer Implementation -----------------------------------
/**
* @see AbstractResinContainer#getContainerDirName
*/
protected final String getContainerDirName()
{
return "resin3x";
}
/**
* @see AbstractResinContainer#startUpAdditions(Java)
*/
protected void startUpAdditions(Java theJavaContainer, Path theClasspath)
{
// It seems Resin 3.x requires the following property to be
// set in order to start...
theJavaContainer.addSysproperty(createSysProperty(
"java.util.logging.manager", "com.caucho.log.LogManagerImpl"));
// Add the resin_home/bin directory to the library path so that the
// resin dll/so can be loaded.
theJavaContainer.addSysproperty(createSysProperty(
"java.library.path", new File(getDir(), "bin")));
// Add the tools.jar to the classpath. This is not required for
// Resin 2.x but it is for Resin 3.x
addToolsJarToClasspath(theClasspath);
}
/**
* @see AbstractResinContainer#prepareAdditions(FilterChain)
*/
protected void prepareAdditions(FilterChain theFilterChain)
throws IOException
{
ResourceUtils.copyResource(getProject(),
RESOURCE_PATH + getContainerDirName() + "/app-default.xml",
new File(getTmpDir(), "app-default.xml"), theFilterChain);
}
}
1.17 +2 -1 jakarta-cactus/samples/servlet/src/scripts/j2ee12/build.properties
Index: build.properties
===================================================================
RCS file: /home/cvs/jakarta-cactus/samples/servlet/src/scripts/j2ee12/build.properties,v
retrieving revision 1.16
retrieving revision 1.17
diff -u -r1.16 -r1.17
--- build.properties 23 Nov 2003 18:12:16 -0000 1.16
+++ build.properties 18 Jan 2004 11:03:05 -0000 1.17
@@ -34,6 +34,7 @@
# tests on the Resin 2.x, comment the "cactus.home.resin2x" property.
#cactus.home.resin2x = c:/Apps/resin-2.1.11
+#cactus.home.resin3x = c:/Apps/resin-3.0.5
#cactus.home.tomcat3x = c:/Apps/jakarta-tomcat-3.3.1a
#cactus.home.tomcat4x = c:/Apps/jakarta-tomcat-4.1.29
#cactus.home.tomcat5x = c:/Apps/jakarta-tomcat-5.0.14
1.29 +5 -0 jakarta-cactus/samples/servlet/src/scripts/share/build.xml
Index: build.xml
===================================================================
RCS file: /home/cvs/jakarta-cactus/samples/servlet/src/scripts/share/build.xml,v
retrieving revision 1.28
retrieving revision 1.29
diff -u -r1.28 -r1.29
--- build.xml 30 Nov 2003 12:19:43 -0000 1.28
+++ build.xml 18 Jan 2004 11:03:05 -0000 1.29
@@ -304,6 +304,7 @@
<mkdir dir="${target.testreports.dir}/orion1x"/>
<mkdir dir="${target.testreports.dir}/orion2x"/>
<mkdir dir="${target.testreports.dir}/resin2x"/>
+ <mkdir dir="${target.testreports.dir}/resin3x"/>
<@j2ee12.begin@mkdir dir="${target.testreports.dir}/tomcat3x"/@j2ee12.end@>
<mkdir dir="${target.testreports.dir}/tomcat4x"/>
<mkdir dir="${target.testreports.dir}/tomcat5x"/>
@@ -350,6 +351,10 @@
dir="${cactus.home.resin2x}" port="${cactus.port}"
output="${target.testreports.dir}/resin2x.out"
todir="${target.testreports.dir}/resin2x"/>
+ <resin3x if="cactus.home.resin3x"
+ dir="${cactus.home.resin3x}" port="${cactus.port}"
+ output="${target.testreports.dir}/resin3x.out"
+ todir="${target.testreports.dir}/resin3x"/>
<@j2ee12.begin@tomcat3x if="cactus.home.tomcat3x"
dir="${cactus.home.tomcat3x}" port="${cactus.port}"
output="${target.testreports.dir}/tomcat3x.out"
1.1 jakarta-cactus/integration/ant/src/confs/share/resin3x/app-default.xml
Index: app-default.xml
===================================================================
<web-app-default>
<!-- configures the default class loader -->
<class-loader>
<compiling-loader path='WEB-INF/classes'/>
<library-loader path='WEB-INF/lib'/>
</class-loader>
<!-- Add default security configuration for cactus -->
<authenticator>
<type>com.caucho.server.security.XmlAuthenticator</type>
<init>
<user>testuser:testpassword:test</user>
<password-digest>none</password-digest>
</init>
</authenticator>
<servlet servlet-name="directory"
servlet-class="com.caucho.servlets.DirectoryServlet"/>
<servlet servlet-name="file"
servlet-class="com.caucho.servlets.FileServlet"/>
<servlet servlet-name="jsp"
servlet-class="com.caucho.jsp.JspServlet">
</servlet>
<servlet servlet-name="jspx"
servlet-class="com.caucho.jsp.JspServlet">
<init>
<xml>true</xml>
</init>
</servlet>
<servlet servlet-name="xtp"
servlet-class="com.caucho.jsp.XtpServlet"/>
<servlet-mapping url-pattern="*.jsp" servlet-name="jsp"/>
<servlet-mapping url-pattern="*.jspx" servlet-name="jspx"/>
<servlet-mapping url-pattern="*.xtp" servlet-name="xtp"/>
<servlet-mapping url-pattern="/" servlet-name="file"/>
<servlet servlet-name="j_security_check"
servlet-class="com.caucho.server.security.FormLoginServlet"/>
<login-config>
<auth-method>basic</auth-method>
<realm-name>resin</realm-name>
</login-config>
<!-- Configures the special index files to check for directory URLs -->
<welcome-file-list>
<welcome-file>index.xtp</welcome-file>
<welcome-file>index.jsp</welcome-file>
<welcome-file>index.html</welcome-file>
</welcome-file-list>
<mime-mapping extension='.html' mime-type='text/html'/>
<mime-mapping extension=".aif" mime-type="audio/x-aiff"/>
<mime-mapping extension=".aiff" mime-type="audio/x-aiff"/>
<mime-mapping extension=".aifc" mime-type="audio/x-aiff"/>
<mime-mapping extension=".ai" mime-type="application/postscript"/>
<mime-mapping extension=".au" mime-type="audio/basic"/>
<mime-mapping extension=".asc" mime-type="text/plain"/>
<mime-mapping extension=".asf" mime-type="video/x-ms-asf"/>
<mime-mapping extension=".asx" mime-type="video/x-ms-asf"/>
<mime-mapping extension=".avi" mime-type="video/x-msvideo"/>
<mime-mapping extension=".bin" mime-type="application/octet-stream"/>
<mime-mapping extension=".bcpio" mime-type="application/x-bcpio"/>
<mime-mapping extension=".bmp" mime-type="image/bmp"/>
<mime-mapping extension=".class" mime-type="application/octet-stream"/>
<mime-mapping extension=".cpt" mime-type="application/mac-compactpro"/>
<mime-mapping extension=".css" mime-type="text/css"/>
<mime-mapping extension=".cpio" mime-type="application/x-cpio"/>
<mime-mapping extension=".csh" mime-type="application/x-csh"/>
<mime-mapping extension=".cdf" mime-type="application/x-netcdf"/>
<mime-mapping extension=".dms" mime-type="application/octet-stream"/>
<mime-mapping extension=".doc" mime-type="application/msword"/>
<mime-mapping extension=".dcr" mime-type="application/x-director"/>
<mime-mapping extension=".dir" mime-type="application/x-director"/>
<mime-mapping extension=".dxr" mime-type="application/x-director"/>
<mime-mapping extension=".dvi" mime-type="application/x-dvi"/>
<mime-mapping extension=".exe" mime-type="application/octet-stream"/>
<mime-mapping extension=".eps" mime-type="application/postscript"/>
<mime-mapping extension=".etx" mime-type="text/x-setext"/>
<mime-mapping extension=".gtar" mime-type="application/x-gtar"/>
<mime-mapping extension=".gif" mime-type="image/gif"/>
<mime-mapping extension=".gz" mime-type="application/octet-stream"/>
<mime-mapping extension=".hdml" mime-type="text/x-hdml"/>
<mime-mapping extension=".hqx" mime-type="application/mac-binhex40"/>
<mime-mapping extension=".html" mime-type="text/html"/>
<mime-mapping extension=".htm" mime-type="text/html"/>
<mime-mapping extension=".hdf" mime-type="application/x-hdf"/>
<mime-mapping extension=".ief" mime-type="image/ief"/>
<mime-mapping extension=".ice" mime-type="x-conference/x-cooltalk"/>
<mime-mapping extension=".js" mime-type="application/x-javascript"/>
<mime-mapping extension=".jpeg" mime-type="image/jpeg"/>
<mime-mapping extension=".jpg" mime-type="image/jpeg"/>
<mime-mapping extension=".jpe" mime-type="image/jpeg"/>
<mime-mapping extension=".kar" mime-type="audio/midi"/>
<mime-mapping extension=".latex" mime-type="application/x-latex"/>
<mime-mapping extension=".lha" mime-type="application/octet-stream"/>
<mime-mapping extension=".lhz" mime-type="application/octet-stream"/>
<mime-mapping extension=".mid" mime-type="audio/midi"/>
<mime-mapping extension=".mpeg" mime-type="video/mpeg"/>
<mime-mapping extension=".mpg" mime-type="video/mpeg"/>
<mime-mapping extension=".mpe" mime-type="video/mpeg"/>
<mime-mapping extension=".mov" mime-type="video/quicktime"/>
<mime-mapping extension=".movie" mime-type="video/x-sgi-movie"/>
<mime-mapping extension=".mpga" mime-type="audio/mpeg"/>
<mime-mapping extension=".mp2" mime-type="audio/mpeg"/>
<mime-mapping extension=".mp3" mime-type="audio/mpeg"/>
<mime-mapping extension=".man" mime-type="application/x-troff-man"/>
<mime-mapping extension=".me" mime-type="application/x-troff-me"/>
<mime-mapping extension=".ms" mime-type="application/x-troff-ms"/>
<mime-mapping extension=".nc" mime-type="application/x-netcdf"/>
<mime-mapping extension=".oda" mime-type="application/oda"/>
<mime-mapping extension=".pdf" mime-type="application/pdf"/>
<mime-mapping extension=".ps" mime-type="application/postscript"/>
<mime-mapping extension=".ppt" mime-type="application/vnd.ms-powerpoint"/>
<mime-mapping extension=".png" mime-type="image/png"/>
<mime-mapping extension=".pgn" mime-type="application/x-chess-pgn"/>
<mime-mapping extension=".pnm" mime-type="image/x-portable-anymap"/>
<mime-mapping extension=".pbm" mime-type="image/x-portable-bitmap"/>
<mime-mapping extension=".pgm" mime-type="image/x-portable-graymap"/>
<mime-mapping extension=".ppm" mime-type="image/x-portable-pixmap"/>
<mime-mapping extension=".qt" mime-type="video/quicktime"/>
<mime-mapping extension=".rtf" mime-type="application/rtf"/>
<mime-mapping extension=".ram" mime-type="audio/x-pn-realaudio"/>
<mime-mapping extension=".rm" mime-type="audio/x-pn-realaudio"/>
<mime-mapping extension=".rpm" mime-type="audio/x-pn-realaudio-plugin"/>
<mime-mapping extension=".ra" mime-type="audio/x-realaudio"/>
<mime-mapping extension=".ras" mime-type="image/x-cmu-raster"/>
<mime-mapping extension=".rgb" mime-type="image/x-rgb"/>
<mime-mapping extension=".rtx" mime-type="text/richtext"/>
<mime-mapping extension=".rtf" mime-type="text/rtf"/>
<mime-mapping extension=".smi" mime-type="application/smil"/>
<mime-mapping extension=".smil" mime-type="application/smil"/>
<mime-mapping extension=".sml" mime-type="application/smil"/>
<mime-mapping extension=".skp" mime-type="application/x-koan"/>
<mime-mapping extension=".skd" mime-type="application/x-koan"/>
<mime-mapping extension=".skt" mime-type="application/x-koan"/>
<mime-mapping extension=".skm" mime-type="application/x-koan"/>
<mime-mapping extension=".src" mime-type="application/x-wais-source"/>
<mime-mapping extension=".sh" mime-type="application/x-sh"/>
<mime-mapping extension=".shar" mime-type="application/x-shar"/>
<mime-mapping extension=".swf" mime-type="application/x-shockwave-flash"/>
<mime-mapping extension=".sit" mime-type="application/x-stuffit"/>
<mime-mapping extension=".spl" mime-type="application/x-futuresplash"/>
<mime-mapping extension=".sv4cpio" mime-type="application/x-sv4cpio"/>
<mime-mapping extension=".sv4crc" mime-type="application/x-sv4crc"/>
<mime-mapping extension=".snd" mime-type="audio/basic"/>
<mime-mapping extension=".sgml" mime-type="text/sgml"/>
<mime-mapping extension=".sgm" mime-type="text/sgml"/>
<mime-mapping extension=".tgz" mime-type="application/octet-stream"/>
<mime-mapping extension=".tar" mime-type="application/x-tar"/>
<mime-mapping extension=".tcl" mime-type="application/x-tcl"/>
<mime-mapping extension=".tex" mime-type="application/x-tex"/>
<mime-mapping extension=".texinfo" mime-type="application/x-texinfo"/>
<mime-mapping extension=".texi" mime-type="application/x-texinfo"/>
<mime-mapping extension=".t" mime-type="application/x-troff"/>
<mime-mapping extension=".tr" mime-type="application/x-troff"/>
<mime-mapping extension=".roff" mime-type="application/x-troff"/>
<mime-mapping extension=".tiff" mime-type="image/tiff"/>
<mime-mapping extension=".tif" mime-type="image/tiff"/>
<mime-mapping extension=".txt" mime-type="text/plain"/>
<mime-mapping extension=".tsv" mime-type="text/tab-separated-values"/>
<mime-mapping extension=".ustar" mime-type="application/x-ustar"/>
<mime-mapping extension=".vcd" mime-type="application/x-cdlink"/>
<mime-mapping extension=".vrml" mime-type="model/vrml"/>
<mime-mapping extension=".wav" mime-type="audio/x-wav"/>
<mime-mapping extension=".wax" mime-type="audio/x-ms-wax"/>
<mime-mapping extension=".wrl" mime-type="model/vrml"/>
<mime-mapping extension=".wma" mime-type="audio/x-ms-wma"/>
<mime-mapping extension=".wml" mime-type="text/vnd.wap.wml"/>
<mime-mapping extension=".wmls" mime-type="text/vnd.wap.wmlscript"/>
<mime-mapping extension=".wmlc" mime-type="application/vnd.wap.wmlc"/>
<mime-mapping extension=".wmlsc" mime-type="application/vnd.wap.wmlscript"/>
<mime-mapping extension=".wbmp" mime-type="image/vnd.wap.wbmp"/>
<mime-mapping extension=".xls" mime-type="application/vnd.ms-excel"/>
<mime-mapping extension=".xbm" mime-type="image/x-xbitmap"/>
<mime-mapping extension=".xpm" mime-type="image/x-xpixmax"/>
<mime-mapping extension=".xwd" mime-type="image/x-xwindowdump"/>
<mime-mapping extension=".xml" mime-type="text/xml"/>
<mime-mapping extension=".zip" mime-type="application/zip"/>
<mime-mapping extension=".z" mime-type="application/octet-stream"/>
<config-file>WEB-INF/web.xml</config-file>
<config-file>WEB-INF/resin-web.xml</config-file>
</web-app-default>
1.1 jakarta-cactus/integration/ant/src/confs/share/resin3x/resin.conf
Index: resin.conf
===================================================================
<!--
- Resin 3.0 configuration file.
-->
<resin xmlns="http://caucho.com/ns/resin"
xmlns:resin="http://caucho.com/ns/resin/core">
<!--
- Logging configuration for the JDK logging API.
-->
<log name='' level='info' path='stdout:' timestamp='[%H:%M:%S.%s] '/>
<log name='com.caucho.java' level='fine' path='stdout:'
timestamp='[%H:%M:%S.%s] '/>
<log name='com.caucho.loader' level='config' path='stdout:'
timestamp='[%H:%M:%S.%s] '/>
<!--
- For production sites, change dependency-check-interval to something
- like 600s, so it only checks for updates every 10 minutes.
-->
<dependency-check-interval>2s</dependency-check-interval>
<!--
- You can change the compiler to "javac" or jikes.
- The default is "internal" only because it's the most
- likely to be available.
-->
<javac compiler="internal" args=""/>
<!-- Security providers.
- <security-provider>
- com.sun.net.ssl.internal.ssl.Provider
- </security-provider>
-->
<!--
- If starting bin/resin as root on Unix, specify the user name
- and group name for the web server user.
-
- <user-name>resin</user-name>
- <group-name>resin</group-name>
-->
<!--
- Configures threads shared among all HTTP and SRUN ports.
-->
<thread-pool>
<!-- Maximum number of threads. -->
<thread-max>200</thread-max>
<!-- Minimum number of spare connection threads. -->
<spare-thread-min>25</spare-thread-min>
</thread-pool>
<!--
- Configures the minimum free memory allowed before Resin
- will force a restart.
-->
<min-free-memory>1M</min-free-memory>
<server>
<!-- adds all .jar files under the resin/lib directory -->
<class-loader>
<tree-loader path="$resin-home/lib"/>
</class-loader>
<!-- The http port -->
<http id="" host="*" port="8080"/>
<!--
- SSL port configuration:
-
- <http port="8443">
- <openssl>
- <certificate-file>keys/gryffindor.crt</certificate-file>
- <certificate-key-file>keys/gryffindor.key</certificate-key-file>
- <password>test123</password>
- </openssl>
- </http>
-->
<!--
- The local cluster, used for load balancing and distributed
- backup.
-->
<cluster>
<srun id="" host="127.0.0.1" port="6802" index="1"/>
</cluster>
<!--
- Enables/disables exceptions when the browser closes a connection.
-->
<ignore-client-disconnect>true</ignore-client-disconnect>
<!--
- Enables the cache
-->
<cache path="cache" memory-size="10M"/>
<!--
- Sets timeout values for cacheable pages, e.g. static pages.
-->
<web-app-default>
<cache-mapping url-pattern="/" expires="5s"/>
<cache-mapping url-pattern="*.gif" expires="60s"/>
<cache-mapping url-pattern="*.jpg" expires="60s"/>
</web-app-default>
<!--
- Sample database pool configuration
-
- The JDBC name is java:comp/env/jdbc/test
-
<database>
<jndi-name>jdbc/mysql</jndi-name>
<driver type="org.gjt.mm.mysql.Driver">
<url>jdbc:mysql://localhost:3306/test</url>
<user></user>
<password></password>
</driver>
<prepared-statement-cache-size>8</prepared-statement-cache-size>
<max-connections>20</max-connections>
<max-idle-time>30s</max-idle-time>
</database>
-->
<!--
- Default host configuration applied to all virtual hosts.
-->
<host-default>
<class-loader>
<compiling-loader path='webapps/WEB-INF/classes'/>
<library-loader path='webapps/WEB-INF/lib'/>
</class-loader>
<!--
- With another web server, like Apache, this can be commented out
- because the web server will log this information.
-->
<access-log path='logs/access.log'
format='%h %l %u %t "%r" %s %b "%{Referer}i" "%{User-Agent}i"'
rollover-period='1W'/>
<!-- creates the webapps directory for .war expansion -->
<web-app-deploy path='webapps'/>
<!-- creates the deploy directory for .ear expansion -->
<ear-deploy path='deploy'>
<ear-default>
<!-- Configure this for the ejb server
-
- <ejb-server>
- <config-directory>WEB-INF</config-directory>
- <data-source>jdbc/test</data-source>
- </ejb-server>
-->
</ear-default>
</ear-deploy>
<!-- creates the deploy directory for .rar expansion -->
<resource-deploy path='deploy'/>
<!-- creates a second deploy directory for .war expansion -->
<web-app-deploy path='deploy'/>
</host-default>
<!-- includes the web-app-default for default web-app behavior -->
<resin:include path="app-default.xml"/>
<!-- configures the default host, matching any host name -->
<host id=''>
<document-directory>doc</document-directory>
<!-- configures the root web-app -->
<web-app id='/'>
<!-- adds xsl to the search path -->
<class-loader>
<simple-loader path="$host-root/xsl"/>
</class-loader>
<servlet-mapping url-pattern="/servlet/*" servlet-name="invoker"/>
</web-app>
</host>
</server>
</resin>
1.16 +2 -1 jakarta-cactus/samples/servlet/src/scripts/j2ee13/build.properties
Index: build.properties
===================================================================
RCS file: /home/cvs/jakarta-cactus/samples/servlet/src/scripts/j2ee13/build.properties,v
retrieving revision 1.15
retrieving revision 1.16
diff -u -r1.15 -r1.16
--- build.properties 23 Nov 2003 18:12:16 -0000 1.15
+++ build.properties 18 Jan 2004 11:03:05 -0000 1.16
@@ -40,6 +40,7 @@
# tests on the Resin 2.x, comment the "cactus.home.resin2x" property.
#cactus.home.resin2x = c:/Apps/resin-2.1.11
+#cactus.home.resin3x = c:/Apps/resin-3.0.5
#cactus.home.tomcat4x = c:/Apps/jakarta-tomcat-4.1.29
#cactus.home.tomcat5x = c:/Apps/jakarta-tomcat-5.0.14
#cactus.home.orion1x = c:/Apps/orion-1.6.0
1.2 +1 -1 jakarta-cactus/integration/ant/src/confs/share/resin2x/resin.conf
Index: resin.conf
===================================================================
RCS file: /home/cvs/jakarta-cactus/integration/ant/src/confs/share/resin2x/resin.conf,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- resin.conf 3 Feb 2003 10:52:47 -0000 1.1
+++ resin.conf 18 Jan 2004 11:03:05 -0000 1.2
@@ -12,7 +12,7 @@
<init-param user='testuser:testpassword:test'/>
</authenticator>
- <war-dir id='.'/>
+ <war-dir id='webapps'/>
</host>
---------------------------------------------------------------------
To unsubscribe, e-mail: cactus-dev-unsubscribe@jakarta.apache.org
For additional commands, e-mail: cactus-dev-help@jakarta.apache.org