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@ + + + +