Index: core/api/generic/src/main/java/org/codehaus/cargo/generic/configuration/DefaultConfigurationFactory.java
===================================================================
--- core/api/generic/src/main/java/org/codehaus/cargo/generic/configuration/DefaultConfigurationFactory.java (revision 1677)
+++ core/api/generic/src/main/java/org/codehaus/cargo/generic/configuration/DefaultConfigurationFactory.java Mon Jul 21 12:22:05 EST 2008
@@ -126,6 +126,10 @@
"org.codehaus.cargo.container.resin.Resin3xStandaloneLocalConfiguration");
registerConfiguration("resin3x", ContainerType.INSTALLED, ConfigurationType.EXISTING,
"org.codehaus.cargo.container.resin.ResinExistingLocalConfiguration");
+ registerConfiguration("resin31", ContainerType.INSTALLED, ConfigurationType.STANDALONE,
+ "org.codehaus.cargo.container.resin.Resin3xStandaloneLocalConfiguration");
+ registerConfiguration("resin31", ContainerType.INSTALLED, ConfigurationType.EXISTING,
+ "org.codehaus.cargo.container.resin.ResinExistingLocalConfiguration");
registerConfiguration("tomcat3x", ContainerType.INSTALLED, ConfigurationType.STANDALONE,
"org.codehaus.cargo.container.tomcat.Tomcat3xStandaloneLocalConfiguration");
Index: core/containers/resin/src/main/java/org/codehaus/cargo/container/resin/Resin31InstalledLocalContainer.java
===================================================================
--- core/containers/resin/src/main/java/org/codehaus/cargo/container/resin/Resin31InstalledLocalContainer.java Mon Jul 21 14:33:22 EST 2008
+++ core/containers/resin/src/main/java/org/codehaus/cargo/container/resin/Resin31InstalledLocalContainer.java Mon Jul 21 14:33:22 EST 2008
@@ -0,0 +1,43 @@
+package org.codehaus.cargo.container.resin;
+
+import org.codehaus.cargo.container.configuration.LocalConfiguration;
+
+/**
+ * Special container support for the Caucho Resin 3.1.x servlet container.
+ *
+ * @version $Id$
+ */
+public class Resin31InstalledLocalContainer extends AbstractResin3InstalledLocalContainer
+{
+ /**
+ * Unique container id.
+ */
+ public static final String ID = "resin31";
+
+ /**
+ * {@inheritDoc}
+ * @see AbstractResinInstalledLocalContainer#AbstractInstalledLocalContainer(org.codehaus.cargo.container.configuration.LocalConfiguration)
+ */
+ public Resin31InstalledLocalContainer(LocalConfiguration configuration)
+ {
+ super(configuration);
+ }
+
+ /**
+ * {@inheritDoc}
+ * @see AbstractResin3InstalledLocalContainer#getDefaultVersion()
+ */
+ protected String getDefaultVersion()
+ {
+ return "3.1";
+ }
+
+ /**
+ * {@inheritDoc}
+ * @see org.codehaus.cargo.container.Container#getId()
+ */
+ public String getId()
+ {
+ return ID;
+ }
+}
Index: core/api/generic/src/main/java/org/codehaus/cargo/generic/DefaultContainerCapabilityFactory.java
===================================================================
--- core/api/generic/src/main/java/org/codehaus/cargo/generic/DefaultContainerCapabilityFactory.java (revision 1677)
+++ core/api/generic/src/main/java/org/codehaus/cargo/generic/DefaultContainerCapabilityFactory.java Mon Jul 21 12:22:05 EST 2008
@@ -85,6 +85,8 @@
"org.codehaus.cargo.container.internal.ServletContainerCapability");
registerContainerCapability("resin3x",
"org.codehaus.cargo.container.internal.ServletContainerCapability");
+ registerContainerCapability("resin31",
+ "org.codehaus.cargo.container.internal.ServletContainerCapability");
registerContainerCapability("tomcat3x",
"org.codehaus.cargo.container.internal.ServletContainerCapability");
Index: core/api/generic/src/main/java/org/codehaus/cargo/generic/configuration/DefaultConfigurationCapabilityFactory.java
===================================================================
--- core/api/generic/src/main/java/org/codehaus/cargo/generic/configuration/DefaultConfigurationCapabilityFactory.java (revision 1677)
+++ core/api/generic/src/main/java/org/codehaus/cargo/generic/configuration/DefaultConfigurationCapabilityFactory.java Mon Jul 21 12:39:06 EST 2008
@@ -127,18 +127,7 @@
ConfigurationType.EXISTING, "org.codehaus.cargo.container.orion.internal."
+ "OrionStandaloneLocalConfigurationCapability");
- registerConfigurationCapability("resin2x", ContainerType.INSTALLED,
- ConfigurationType.STANDALONE, "org.codehaus.cargo.container.resin.internal."
- + "ResinStandaloneLocalConfigurationCapability");
- registerConfigurationCapability("resin2x", ContainerType.INSTALLED,
- ConfigurationType.EXISTING, "org.codehaus.cargo.container.resin.internal."
- + "ResinExistingLocalConfigurationCapability");
- registerConfigurationCapability("resin3x", ContainerType.INSTALLED,
- ConfigurationType.STANDALONE, "org.codehaus.cargo.container.resin.internal."
- + "ResinStandaloneLocalConfigurationCapability");
- registerConfigurationCapability("resin3x", ContainerType.INSTALLED,
- ConfigurationType.EXISTING, "org.codehaus.cargo.container.resin.internal."
- + "ResinExistingLocalConfigurationCapability");
+ registerResinConfigurations();
registerConfigurationCapability("tomcat3x", ContainerType.INSTALLED,
ConfigurationType.STANDALONE, "org.codehaus.cargo.container.tomcat.internal."
@@ -192,6 +181,31 @@
}
/**
+ * Registers all the resin-specific configurations.
+ */
+ private void registerResinConfigurations()
+ {
+ registerConfigurationCapability("resin2x", ContainerType.INSTALLED,
+ ConfigurationType.STANDALONE, "org.codehaus.cargo.container.resin.internal."
+ + "ResinStandaloneLocalConfigurationCapability");
+ registerConfigurationCapability("resin2x", ContainerType.INSTALLED,
+ ConfigurationType.EXISTING, "org.codehaus.cargo.container.resin.internal."
+ + "ResinExistingLocalConfigurationCapability");
+ registerConfigurationCapability("resin3x", ContainerType.INSTALLED,
+ ConfigurationType.STANDALONE, "org.codehaus.cargo.container.resin.internal."
+ + "ResinStandaloneLocalConfigurationCapability");
+ registerConfigurationCapability("resin3x", ContainerType.INSTALLED,
+ ConfigurationType.EXISTING, "org.codehaus.cargo.container.resin.internal."
+ + "ResinExistingLocalConfigurationCapability");
+ registerConfigurationCapability("resin31", ContainerType.INSTALLED,
+ ConfigurationType.STANDALONE, "org.codehaus.cargo.container.resin.internal."
+ + "ResinStandaloneLocalConfigurationCapability");
+ registerConfigurationCapability("resin31", ContainerType.INSTALLED,
+ ConfigurationType.EXISTING, "org.codehaus.cargo.container.resin.internal."
+ + "ResinExistingLocalConfigurationCapability");
+ }
+
+ /**
* {@inheritDoc}
* @see ConfigurationCapabilityFactory#registerConfigurationCapability
*/
Index: core/api/generic/src/main/java/org/codehaus/cargo/generic/deployer/DefaultDeployerFactory.java
===================================================================
--- core/api/generic/src/main/java/org/codehaus/cargo/generic/deployer/DefaultDeployerFactory.java (revision 1677)
+++ core/api/generic/src/main/java/org/codehaus/cargo/generic/deployer/DefaultDeployerFactory.java Mon Jul 21 12:22:05 EST 2008
@@ -100,6 +100,8 @@
"org.codehaus.cargo.container.resin.ResinInstalledLocalDeployer");
registerDeployer("resin3x", DeployerType.INSTALLED,
"org.codehaus.cargo.container.resin.ResinInstalledLocalDeployer");
+ registerDeployer("resin31", DeployerType.INSTALLED,
+ "org.codehaus.cargo.container.resin.ResinInstalledLocalDeployer");
registerDeployer("tomcat4x", DeployerType.INSTALLED,
"org.codehaus.cargo.container.tomcat.TomcatCopyingInstalledLocalDeployer");
Index: core/containers/resin/src/main/resources/org/codehaus/cargo/container/internal/resources/resin31/app-default.xml
===================================================================
--- core/containers/resin/src/main/resources/org/codehaus/cargo/container/internal/resources/resin31/app-default.xml Fri Jul 18 10:29:13 EST 2008
+++ core/containers/resin/src/main/resources/org/codehaus/cargo/container/internal/resources/resin31/app-default.xml Fri Jul 18 10:29:13 EST 2008
@@ -0,0 +1,211 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ true
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ basic
+ resin
+
+
+
+
+ index.xtp
+ index.jsp
+ index.html
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Index: core/api/generic/src/main/java/org/codehaus/cargo/generic/DefaultContainerFactory.java
===================================================================
--- core/api/generic/src/main/java/org/codehaus/cargo/generic/DefaultContainerFactory.java (revision 1677)
+++ core/api/generic/src/main/java/org/codehaus/cargo/generic/DefaultContainerFactory.java Mon Jul 21 12:22:05 EST 2008
@@ -117,6 +117,8 @@
"org.codehaus.cargo.container.resin.Resin2xInstalledLocalContainer");
registerContainer("resin3x", ContainerType.INSTALLED,
"org.codehaus.cargo.container.resin.Resin3xInstalledLocalContainer");
+ registerContainer("resin31", ContainerType.INSTALLED,
+ "org.codehaus.cargo.container.resin.Resin31InstalledLocalContainer");
registerContainer("tomcat3x", ContainerType.INSTALLED,
"org.codehaus.cargo.container.tomcat.Tomcat3xInstalledLocalContainer");
Index: core/containers/resin/src/main/java/org/codehaus/cargo/container/resin/Resin3xInstalledLocalContainer.java
===================================================================
--- core/containers/resin/src/main/java/org/codehaus/cargo/container/resin/Resin3xInstalledLocalContainer.java (revision 1677)
+++ core/containers/resin/src/main/java/org/codehaus/cargo/container/resin/Resin3xInstalledLocalContainer.java Mon Jul 21 14:33:22 EST 2008
@@ -22,20 +22,14 @@
*/
package org.codehaus.cargo.container.resin;
-import org.apache.tools.ant.taskdefs.Java;
-import org.apache.tools.ant.types.Path;
import org.codehaus.cargo.container.configuration.LocalConfiguration;
-import org.codehaus.cargo.container.resin.internal.AbstractResinInstalledLocalContainer;
-import java.io.File;
-import java.io.FileNotFoundException;
-
/**
* Special container support for the Caucho Resin 3.x servlet container.
*
* @version $Id: Resin3xInstalledLocalContainer.java 1001 2006-04-09 15:06:35Z vmassol $
*/
-public class Resin3xInstalledLocalContainer extends AbstractResinInstalledLocalContainer
+public class Resin3xInstalledLocalContainer extends AbstractResin3InstalledLocalContainer
{
/**
* Unique container id.
@@ -53,27 +47,6 @@
/**
* {@inheritDoc}
- * @see AbstractResinInstalledLocalContainer#startUpAdditions(Java, Path)
- */
- protected void startUpAdditions(Java java, Path classpath) throws FileNotFoundException
- {
- // It seems Resin 3.x requires the following property to be
- // set in order to start...
- java.addSysproperty(getAntUtils().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.
- java.addSysproperty(getAntUtils().createSysProperty(
- "java.library.path", new File(getHome(), "bin")));
-
- // Add the tools.jar to the classpath. This is not required for
- // Resin 2.x but it is for Resin 3.x
- addToolsJarToClasspath(classpath);
- }
-
- /**
- * {@inheritDoc}
* @see org.codehaus.cargo.container.Container#getId()
*/
public final String getId()
@@ -83,10 +56,10 @@
/**
* {@inheritDoc}
- * @see org.codehaus.cargo.container.Container#getName()
+ * @see AbstractResin3InstalledLocalContainer#getDefaultVersion()
*/
- public String getName()
+ protected String getDefaultVersion()
{
- return "Resin " + getVersion("3.x");
+ return "3.x";
}
}
Index: core/containers/resin/src/main/java/org/codehaus/cargo/container/resin/internal/ResinRun.java
===================================================================
--- core/containers/resin/src/main/java/org/codehaus/cargo/container/resin/internal/ResinRun.java (revision 1677)
+++ core/containers/resin/src/main/java/org/codehaus/cargo/container/resin/internal/ResinRun.java Mon Jul 21 15:53:17 EST 2008
@@ -189,7 +189,12 @@
// 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 Resin3xInvoker(args);
+ Resin3xInvoker startThread = new Resin3xInvoker(args);
+ if (isResinVersion("3.1"))
+ {
+ startThread.setStartupClassName("com.caucho.boot.ResinBoot");
+ startThread.setKeepAliveSocketParam("-watchdog-port");
+ }
startThread.start();
return startThread;
@@ -277,6 +282,16 @@
private String[] args;
/**
+ * Startup class name
+ */
+ private String startupClassName = "com.caucho.server.http.ResinServer";
+
+ /**
+ * The command line argument for the keep alive socket.
+ */
+ private String keepAliveSocketParam = "-socketwait";
+
+ /**
* {@inheritDoc}
* @see ResinRun#ResinRun(String[])
*/
@@ -286,6 +301,24 @@
}
/**
+ * The command line arguments.
+ * @param keepAliveSocketParam - name of the keep alive socket param
+ */
+ public void setKeepAliveSocketParam(String keepAliveSocketParam)
+ {
+ this.keepAliveSocketParam = keepAliveSocketParam;
+ }
+
+ /**
+ * The command line arguments.
+ * @param startupClassName - name of the startup class
+ */
+ public void setStartupClassName(String startupClassName)
+ {
+ this.startupClassName = startupClassName;
+ }
+
+ /**
* {@inheritDoc}
* @see Thread#run()
*/
@@ -293,7 +326,7 @@
{
try
{
- Class resinClass = Class.forName("com.caucho.server.http.ResinServer");
+ Class resinClass = Class.forName(startupClassName);
Method mainMethod = resinClass.getMethod("main",
new Class[] {String[].class});
@@ -305,7 +338,7 @@
{
modifiedArgs[i] = args[i];
}
- modifiedArgs[args.length] = "-socketwait";
+ modifiedArgs[args.length] = keepAliveSocketParam;
modifiedArgs[args.length + 1] = "" + DEFAULT_KEEPALIVE_SOCKET_PORT;
mainMethod.invoke(null, new Object[] {modifiedArgs});
Index: core/containers/resin/src/main/resources/org/codehaus/cargo/container/internal/resources/resin31/resin.conf
===================================================================
--- core/containers/resin/src/main/resources/org/codehaus/cargo/container/internal/resources/resin31/resin.conf Mon Jul 21 15:13:02 EST 2008
+++ core/containers/resin/src/main/resources/org/codehaus/cargo/container/internal/resources/resin31/resin.conf Mon Jul 21 15:13:02 EST 2008
@@ -0,0 +1,272 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ 2s
+
+
+
+
+
+
+
+
+ .
+
+
+
+
+
+
+
+
+ -Xmx512m
+ -Xss1m
+ -Xdebug
+ -XX:MaxPermSize=256m
+ -Dcom.sun.management.jmxremote
+ -Xdebug
+ -Xrunjdwp:transport=dt_socket,server=y,suspend=n,address=5005
+
+
+
+
+ 1M
+
+
+ 256
+
+
+ 65s
+
+
+ 128
+ 15s
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ false
+
+
+
+
+
+
+ true
+ true
+ false
+
+
+
+ com.caucho.server.security.XmlAuthenticator
+
+ @resin3x.users@
+ none
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ WEB-INF
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ @resin.expanded.webapps@
+
+
+
+