Author: veithen
Date: Tue Dec 11 19:22:12 2012
New Revision: 1420339
URL: http://svn.apache.org/viewvc?rev=1420339&view=rev
Log:
Added a goal to the maven-axis-server-plugin that allows to run a Jetty
instance in a separate JVM (and that is more convenient than
jetty-maven-plugin).
Added:
axis/axis1/java/trunk/jetty-daemon/ (with props)
axis/axis1/java/trunk/jetty-daemon/pom.xml (with props)
axis/axis1/java/trunk/jetty-daemon/src/
axis/axis1/java/trunk/jetty-daemon/src/main/
axis/axis1/java/trunk/jetty-daemon/src/main/java/
axis/axis1/java/trunk/jetty-daemon/src/main/java/org/
axis/axis1/java/trunk/jetty-daemon/src/main/java/org/apache/
axis/axis1/java/trunk/jetty-daemon/src/main/java/org/apache/axis/
axis/axis1/java/trunk/jetty-daemon/src/main/java/org/apache/axis/tools/
axis/axis1/java/trunk/jetty-daemon/src/main/java/org/apache/axis/tools/daemon/
axis/axis1/java/trunk/jetty-daemon/src/main/java/org/apache/axis/tools/daemon/jetty/
axis/axis1/java/trunk/jetty-daemon/src/main/java/org/apache/axis/tools/daemon/jetty/WebAppDaemon.java
(with props)
axis/axis1/java/trunk/maven/maven-axis-server-plugin/src/main/java/org/apache/axis/tools/maven/server/StartWebAppMojo.java
(with props)
Modified:
axis/axis1/java/trunk/axis-standalone-server/pom.xml
axis/axis1/java/trunk/pom.xml
axis/axis1/java/trunk/tests/spring-compat-tests/pom.xml
Modified: axis/axis1/java/trunk/axis-standalone-server/pom.xml
URL:
http://svn.apache.org/viewvc/axis/axis1/java/trunk/axis-standalone-server/pom.xml?rev=1420339&r1=1420338&r2=1420339&view=diff
==============================================================================
--- axis/axis1/java/trunk/axis-standalone-server/pom.xml (original)
+++ axis/axis1/java/trunk/axis-standalone-server/pom.xml Tue Dec 11 19:22:12
2012
@@ -46,17 +46,14 @@
<dependency>
<groupId>commons-cli</groupId>
<artifactId>commons-cli</artifactId>
- <version>1.2</version>
</dependency>
<dependency>
<groupId>commons-daemon</groupId>
<artifactId>commons-daemon</artifactId>
</dependency>
<dependency>
- <!-- Jetty 6.1 is the last version with support for Java 1.4 -->
<groupId>org.mortbay.jetty</groupId>
<artifactId>jetty</artifactId>
- <version>6.1.26</version>
</dependency>
</dependencies>
<build>
Propchange: axis/axis1/java/trunk/jetty-daemon/
------------------------------------------------------------------------------
--- svn:ignore (added)
+++ svn:ignore Tue Dec 11 19:22:12 2012
@@ -0,0 +1,4 @@
+.classpath
+.project
+target
+.settings
Added: axis/axis1/java/trunk/jetty-daemon/pom.xml
URL:
http://svn.apache.org/viewvc/axis/axis1/java/trunk/jetty-daemon/pom.xml?rev=1420339&view=auto
==============================================================================
--- axis/axis1/java/trunk/jetty-daemon/pom.xml (added)
+++ axis/axis1/java/trunk/jetty-daemon/pom.xml Tue Dec 11 19:22:12 2012
@@ -0,0 +1,58 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ ~ Licensed to the Apache Software Foundation (ASF) under one
+ ~ or more contributor license agreements. See the NOTICE file
+ ~ distributed with this work for additional information
+ ~ regarding copyright ownership. The ASF licenses this file
+ ~ to you under the Apache License, Version 2.0 (the
+ ~ "License"); you may not use this file except in compliance
+ ~ with the License. You may obtain a copy of the License at
+ ~
+ ~ http://www.apache.org/licenses/LICENSE-2.0
+ ~
+ ~ Unless required by applicable law or agreed to in writing,
+ ~ software distributed under the License is distributed on an
+ ~ "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ ~ KIND, either express or implied. See the License for the
+ ~ specific language governing permissions and limitations
+ ~ under the License.
+ -->
+<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0
http://maven.apache.org/maven-v4_0_0.xsd">
+ <modelVersion>4.0.0</modelVersion>
+ <parent>
+ <groupId>org.apache.axis</groupId>
+ <artifactId>axis-project</artifactId>
+ <version>1.4.1-SNAPSHOT</version>
+ <relativePath>../pom.xml</relativePath>
+ </parent>
+ <artifactId>jetty-daemon</artifactId>
+ <name>Jetty Daemon</name>
+ <description>
+ Daemon implementation used by maven-axis-server-plugin to launch a
Jetty server in a separate JVM.
+ </description>
+ <dependencies>
+ <dependency>
+ <groupId>commons-daemon</groupId>
+ <artifactId>commons-daemon</artifactId>
+ </dependency>
+ <dependency>
+ <groupId>commons-cli</groupId>
+ <artifactId>commons-cli</artifactId>
+ </dependency>
+ <dependency>
+ <groupId>org.mortbay.jetty</groupId>
+ <artifactId>jetty</artifactId>
+ </dependency>
+ </dependencies>
+ <build>
+ <plugins>
+ <plugin>
+ <artifactId>maven-site-plugin</artifactId>
+ <configuration>
+ <skip>true</skip>
+ <skipDeploy>true</skipDeploy>
+ </configuration>
+ </plugin>
+ </plugins>
+ </build>
+</project>
Propchange: axis/axis1/java/trunk/jetty-daemon/pom.xml
------------------------------------------------------------------------------
svn:eol-style = native
Added:
axis/axis1/java/trunk/jetty-daemon/src/main/java/org/apache/axis/tools/daemon/jetty/WebAppDaemon.java
URL:
http://svn.apache.org/viewvc/axis/axis1/java/trunk/jetty-daemon/src/main/java/org/apache/axis/tools/daemon/jetty/WebAppDaemon.java?rev=1420339&view=auto
==============================================================================
---
axis/axis1/java/trunk/jetty-daemon/src/main/java/org/apache/axis/tools/daemon/jetty/WebAppDaemon.java
(added)
+++
axis/axis1/java/trunk/jetty-daemon/src/main/java/org/apache/axis/tools/daemon/jetty/WebAppDaemon.java
Tue Dec 11 19:22:12 2012
@@ -0,0 +1,85 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.apache.axis.tools.daemon.jetty;
+
+import java.io.File;
+
+import org.apache.commons.cli.CommandLine;
+import org.apache.commons.cli.CommandLineParser;
+import org.apache.commons.cli.GnuParser;
+import org.apache.commons.cli.Option;
+import org.apache.commons.cli.Options;
+import org.apache.commons.daemon.Daemon;
+import org.apache.commons.daemon.DaemonContext;
+import org.apache.commons.daemon.DaemonInitException;
+import org.mortbay.jetty.Server;
+import org.mortbay.jetty.webapp.WebAppContext;
+import org.mortbay.resource.Resource;
+import org.mortbay.resource.ResourceCollection;
+
+/**
+ *
+ *
+ * @author Andreas Veithen
+ */
+public class WebAppDaemon implements Daemon {
+ private Server server;
+
+ public void init(DaemonContext daemonContext) throws DaemonInitException,
Exception {
+ Options options = new Options();
+
+ {
+ Option option = new Option("p", true, "the HTTP port");
+ option.setArgName("port");
+ option.setRequired(true);
+ options.addOption(option);
+ }
+
+ {
+ Option option = new Option("r", true, "a list of resource
directories");
+ option.setArgName("dirs");
+ option.setRequired(true);
+ options.addOption(option);
+ }
+
+ CommandLineParser parser = new GnuParser();
+ CommandLine cmdLine = parser.parse(options,
daemonContext.getArguments());
+
+ server = new Server(Integer.parseInt(cmdLine.getOptionValue("p")));
+ WebAppContext context = new WebAppContext(server, null, "/");
+ String[] resourceDirs =
cmdLine.getOptionValue("r").split(File.pathSeparator);
+ Resource[] resources = new Resource[resourceDirs.length];
+ for (int i=0; i<resourceDirs.length; i++) {
+ resources[i] = Resource.newResource(resourceDirs[i]);
+ }
+ context.setBaseResource(new ResourceCollection(resources));
+ }
+
+ public void start() throws Exception {
+ server.start();
+ }
+
+ public void stop() throws Exception {
+ server.stop();
+ }
+
+ public void destroy() {
+ server = null;
+ }
+}
Propchange:
axis/axis1/java/trunk/jetty-daemon/src/main/java/org/apache/axis/tools/daemon/jetty/WebAppDaemon.java
------------------------------------------------------------------------------
svn:eol-style = native
Added:
axis/axis1/java/trunk/maven/maven-axis-server-plugin/src/main/java/org/apache/axis/tools/maven/server/StartWebAppMojo.java
URL:
http://svn.apache.org/viewvc/axis/axis1/java/trunk/maven/maven-axis-server-plugin/src/main/java/org/apache/axis/tools/maven/server/StartWebAppMojo.java?rev=1420339&view=auto
==============================================================================
---
axis/axis1/java/trunk/maven/maven-axis-server-plugin/src/main/java/org/apache/axis/tools/maven/server/StartWebAppMojo.java
(added)
+++
axis/axis1/java/trunk/maven/maven-axis-server-plugin/src/main/java/org/apache/axis/tools/maven/server/StartWebAppMojo.java
Tue Dec 11 19:22:12 2012
@@ -0,0 +1,56 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+package org.apache.axis.tools.maven.server;
+
+import java.io.File;
+
+import org.apache.maven.plugin.MojoExecutionException;
+import org.apache.maven.plugin.MojoFailureException;
+import org.codehaus.plexus.util.StringUtils;
+
+/**
+ *
+ *
+ * @goal start-webapp
+ * @phase pre-integration-test
+ * @requiresDependencyResolution test
+ */
+public class StartWebAppMojo extends AbstractStartDaemonMojo {
+ /**
+ * The HTTP port.
+ *
+ * @parameter default-value="8080"
+ * @required
+ */
+ private int port;
+
+ /**
+ *
+ *
+ * @parameter
+ * @required
+ */
+ private File[] resourceBases;
+
+ protected void doStartDaemon() throws MojoExecutionException,
MojoFailureException {
+ addAxisDependency("jetty-daemon");
+ startDaemon("HTTP server on port " + port,
"org.apache.axis.tools.daemon.jetty.WebAppDaemon",
+ new String[] { "-p", String.valueOf(port), "-r",
StringUtils.join(resourceBases, File.pathSeparator) }, new File("."));
+ }
+}
Propchange:
axis/axis1/java/trunk/maven/maven-axis-server-plugin/src/main/java/org/apache/axis/tools/maven/server/StartWebAppMojo.java
------------------------------------------------------------------------------
svn:eol-style = native
Modified: axis/axis1/java/trunk/pom.xml
URL:
http://svn.apache.org/viewvc/axis/axis1/java/trunk/pom.xml?rev=1420339&r1=1420338&r2=1420339&view=diff
==============================================================================
--- axis/axis1/java/trunk/pom.xml (original)
+++ axis/axis1/java/trunk/pom.xml Tue Dec 11 19:22:12 2012
@@ -83,6 +83,7 @@
<module>distribution</module>
<module>integration</module>
<module>interop-mock</module>
+ <module>jetty-daemon</module>
<module>maven</module>
<module>samples</module>
<module>soapmonitor-applet</module>
@@ -137,6 +138,17 @@
<artifactId>commons-daemon</artifactId>
<version>1.0.10</version>
</dependency>
+ <dependency>
+ <groupId>commons-cli</groupId>
+ <artifactId>commons-cli</artifactId>
+ <version>1.2</version>
+ </dependency>
+ <dependency>
+ <!-- Jetty 6.1 is the last version with support for Java 1.4
-->
+ <groupId>org.mortbay.jetty</groupId>
+ <artifactId>jetty</artifactId>
+ <version>6.1.26</version>
+ </dependency>
</dependencies>
</dependencyManagement>
<prerequisites>
Modified: axis/axis1/java/trunk/tests/spring-compat-tests/pom.xml
URL:
http://svn.apache.org/viewvc/axis/axis1/java/trunk/tests/spring-compat-tests/pom.xml?rev=1420339&r1=1420338&r2=1420339&view=diff
==============================================================================
--- axis/axis1/java/trunk/tests/spring-compat-tests/pom.xml (original)
+++ axis/axis1/java/trunk/tests/spring-compat-tests/pom.xml Tue Dec 11 19:22:12
2012
@@ -105,7 +105,6 @@
<phase>pre-integration-test</phase>
<configuration>
<portNames>
- <portName>jetty.stopPort</portName>
<portName>test.httpPort</portName>
</portNames>
</configuration>
@@ -113,39 +112,27 @@
</executions>
</plugin>
<plugin>
- <groupId>org.mortbay.jetty</groupId>
- <artifactId>jetty-maven-plugin</artifactId>
- <configuration>
- <stopKey>foo</stopKey>
- <stopPort>${jetty.stopPort}</stopPort>
- <connectors>
- <connector
implementation="org.eclipse.jetty.server.nio.SelectChannelConnector">
- <port>${test.httpPort}</port>
- </connector>
- </connectors>
- <webApp>
- <resourceBases>
-
<resourceBase>${basedir}/src/main/webapp</resourceBase>
-
<resourceBase>${project.build.directory}/webapp</resourceBase>
- </resourceBases>
- </webApp>
- </configuration>
+ <groupId>${project.groupId}</groupId>
+ <artifactId>maven-axis-server-plugin</artifactId>
+ <version>${project.version}</version>
<executions>
<execution>
- <id>start-jetty</id>
- <phase>pre-integration-test</phase>
+ <id>start-webapp</id>
<goals>
- <goal>run</goal>
+ <goal>start-webapp</goal>
</goals>
<configuration>
- <daemon>true</daemon>
+ <port>${test.httpPort}</port>
+ <resourceBases>
+ <resourceBase>src/main/webapp</resourceBase>
+
<resourceBase>${project.build.directory}/webapp</resourceBase>
+ </resourceBases>
</configuration>
</execution>
<execution>
- <id>stop-jetty</id>
- <phase>post-integration-test</phase>
+ <id>stop-all</id>
<goals>
- <goal>stop</goal>
+ <goal>stop-all</goal>
</goals>
</execution>
</executions>