You are viewing a plain text version of this content. The canonical link for it is here.
Posted to java-commits@axis.apache.org by ve...@apache.org on 2012/02/14 23:30:21 UTC
svn commit: r1244247 - in
/axis/axis1/java/trunk/maven/maven-axis-server-plugin/src/main:
java/org/apache/axis/maven/server/ resources/META-INF/plexus/
Author: veithen
Date: Tue Feb 14 22:30:21 2012
New Revision: 1244247
URL: http://svn.apache.org/viewvc?rev=1244247&view=rev
Log:
Some more refactorings of the maven-axis-server-plugin.
Added:
axis/axis1/java/trunk/maven/maven-axis-server-plugin/src/main/java/org/apache/axis/maven/server/DefaultProcessManager.java
- copied, changed from r1243252, axis/axis1/java/trunk/maven/maven-axis-server-plugin/src/main/java/org/apache/axis/maven/server/DefaultServerManager.java
axis/axis1/java/trunk/maven/maven-axis-server-plugin/src/main/java/org/apache/axis/maven/server/ProcessManager.java
- copied, changed from r1243252, axis/axis1/java/trunk/maven/maven-axis-server-plugin/src/main/java/org/apache/axis/maven/server/ServerManager.java
Removed:
axis/axis1/java/trunk/maven/maven-axis-server-plugin/src/main/java/org/apache/axis/maven/server/DefaultServerManager.java
axis/axis1/java/trunk/maven/maven-axis-server-plugin/src/main/java/org/apache/axis/maven/server/ServerManager.java
Modified:
axis/axis1/java/trunk/maven/maven-axis-server-plugin/src/main/java/org/apache/axis/maven/server/AbstractServerMojo.java
axis/axis1/java/trunk/maven/maven-axis-server-plugin/src/main/java/org/apache/axis/maven/server/StartServerMojo.java
axis/axis1/java/trunk/maven/maven-axis-server-plugin/src/main/java/org/apache/axis/maven/server/StopAllMojo.java
axis/axis1/java/trunk/maven/maven-axis-server-plugin/src/main/resources/META-INF/plexus/components.xml
Modified: axis/axis1/java/trunk/maven/maven-axis-server-plugin/src/main/java/org/apache/axis/maven/server/AbstractServerMojo.java
URL: http://svn.apache.org/viewvc/axis/axis1/java/trunk/maven/maven-axis-server-plugin/src/main/java/org/apache/axis/maven/server/AbstractServerMojo.java?rev=1244247&r1=1244246&r2=1244247&view=diff
==============================================================================
--- axis/axis1/java/trunk/maven/maven-axis-server-plugin/src/main/java/org/apache/axis/maven/server/AbstractServerMojo.java (original)
+++ axis/axis1/java/trunk/maven/maven-axis-server-plugin/src/main/java/org/apache/axis/maven/server/AbstractServerMojo.java Tue Feb 14 22:30:21 2012
@@ -33,9 +33,9 @@ public abstract class AbstractServerMojo
/**
* @component
*/
- private ServerManager serverManager;
+ private ProcessManager processManager;
- public ServerManager getServerManager() {
- return serverManager;
+ public ProcessManager getProcessManager() {
+ return processManager;
}
}
Copied: axis/axis1/java/trunk/maven/maven-axis-server-plugin/src/main/java/org/apache/axis/maven/server/DefaultProcessManager.java (from r1243252, axis/axis1/java/trunk/maven/maven-axis-server-plugin/src/main/java/org/apache/axis/maven/server/DefaultServerManager.java)
URL: http://svn.apache.org/viewvc/axis/axis1/java/trunk/maven/maven-axis-server-plugin/src/main/java/org/apache/axis/maven/server/DefaultProcessManager.java?p2=axis/axis1/java/trunk/maven/maven-axis-server-plugin/src/main/java/org/apache/axis/maven/server/DefaultProcessManager.java&p1=axis/axis1/java/trunk/maven/maven-axis-server-plugin/src/main/java/org/apache/axis/maven/server/DefaultServerManager.java&r1=1243252&r2=1244247&rev=1244247&view=diff
==============================================================================
--- axis/axis1/java/trunk/maven/maven-axis-server-plugin/src/main/java/org/apache/axis/maven/server/DefaultServerManager.java (original)
+++ axis/axis1/java/trunk/maven/maven-axis-server-plugin/src/main/java/org/apache/axis/maven/server/DefaultProcessManager.java Tue Feb 14 22:30:21 2012
@@ -19,18 +19,15 @@
package org.apache.axis.maven.server;
import java.io.File;
-import java.net.URL;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Iterator;
import java.util.List;
-import org.apache.axis.client.AdminClient;
import org.codehaus.plexus.logging.LogEnabled;
import org.codehaus.plexus.logging.Logger;
-import org.codehaus.plexus.util.StringUtils;
-public class DefaultServerManager implements ServerManager, LogEnabled {
+public class DefaultProcessManager implements ProcessManager, LogEnabled {
private final List managedProcesses = new ArrayList();
private Logger logger;
@@ -39,32 +36,15 @@ public class DefaultServerManager implem
this.logger = logger;
}
- public void startServer(String jvm, String[] classpath, int port, String[] vmArgs, File workDir, File[] deployments, File[] undeployments, File[] jwsDirs, int timeout) throws Exception {
- AdminClient adminClient = new AdminClient(true);
- adminClient.setTargetEndpointAddress(new URL("http://localhost:" + port + "/axis/services/AdminService"));
- List cmdline = new ArrayList();
- cmdline.add(jvm);
- cmdline.add("-cp");
- cmdline.add(StringUtils.join(classpath, File.pathSeparator));
- cmdline.addAll(Arrays.asList(vmArgs));
- cmdline.add("org.apache.axis.server.standalone.StandaloneAxisServer");
- cmdline.add("-p");
- cmdline.add(String.valueOf(port));
- cmdline.add("-w");
- cmdline.add(workDir.getAbsolutePath());
- if (jwsDirs != null && jwsDirs.length > 0) {
- cmdline.add("-j");
- cmdline.add(StringUtils.join(jwsDirs, File.pathSeparator));
- }
+ public void startProcess(String description, String[] cmdline, File workDir, ProcessStartAction startAction, ProcessStopAction stopAction) throws Exception {
if (logger.isDebugEnabled()) {
- logger.debug("Starting process with command line: " + cmdline);
+ logger.debug("Starting process with command line: " + Arrays.asList(cmdline));
}
- Process process = Runtime.getRuntime().exec((String[])cmdline.toArray(new String[cmdline.size()]), null, workDir);
- managedProcesses.add(new ManagedProcess(process, "Server on port " + port, new AxisServerStopAction(adminClient, undeployments)));
- new Thread(new StreamPump(process.getInputStream(), System.out), "axis-server-" + port + "-stdout").start();
- new Thread(new StreamPump(process.getErrorStream(), System.err), "axis-server-" + port + "-stderr").start();
-
- new AxisServerStartAction(port, adminClient, deployments, timeout).execute(logger, process);
+ Process process = Runtime.getRuntime().exec(cmdline, null, workDir);
+ managedProcesses.add(new ManagedProcess(process, description, stopAction));
+ new Thread(new StreamPump(process.getInputStream(), System.out)).start();
+ new Thread(new StreamPump(process.getErrorStream(), System.err)).start();
+ startAction.execute(logger, process);
}
public void stopAll() throws Exception {
Copied: axis/axis1/java/trunk/maven/maven-axis-server-plugin/src/main/java/org/apache/axis/maven/server/ProcessManager.java (from r1243252, axis/axis1/java/trunk/maven/maven-axis-server-plugin/src/main/java/org/apache/axis/maven/server/ServerManager.java)
URL: http://svn.apache.org/viewvc/axis/axis1/java/trunk/maven/maven-axis-server-plugin/src/main/java/org/apache/axis/maven/server/ProcessManager.java?p2=axis/axis1/java/trunk/maven/maven-axis-server-plugin/src/main/java/org/apache/axis/maven/server/ProcessManager.java&p1=axis/axis1/java/trunk/maven/maven-axis-server-plugin/src/main/java/org/apache/axis/maven/server/ServerManager.java&r1=1243252&r2=1244247&rev=1244247&view=diff
==============================================================================
--- axis/axis1/java/trunk/maven/maven-axis-server-plugin/src/main/java/org/apache/axis/maven/server/ServerManager.java (original)
+++ axis/axis1/java/trunk/maven/maven-axis-server-plugin/src/main/java/org/apache/axis/maven/server/ProcessManager.java Tue Feb 14 22:30:21 2012
@@ -20,7 +20,7 @@ package org.apache.axis.maven.server;
import java.io.File;
-public interface ServerManager {
- void startServer(String jvm, String[] classpath, int port, String[] vmArgs, File workDir, File[] deployments, File[] undeployments, File[] jwsDirs, int timeout) throws Exception;
+public interface ProcessManager {
+ void startProcess(String description, String[] cmdline, File workDir, ProcessStartAction startAction, ProcessStopAction stopAction) throws Exception;
void stopAll() throws Exception;
}
Modified: axis/axis1/java/trunk/maven/maven-axis-server-plugin/src/main/java/org/apache/axis/maven/server/StartServerMojo.java
URL: http://svn.apache.org/viewvc/axis/axis1/java/trunk/maven/maven-axis-server-plugin/src/main/java/org/apache/axis/maven/server/StartServerMojo.java?rev=1244247&r1=1244246&r2=1244247&view=diff
==============================================================================
--- axis/axis1/java/trunk/maven/maven-axis-server-plugin/src/main/java/org/apache/axis/maven/server/StartServerMojo.java (original)
+++ axis/axis1/java/trunk/maven/maven-axis-server-plugin/src/main/java/org/apache/axis/maven/server/StartServerMojo.java Tue Feb 14 22:30:21 2012
@@ -20,6 +20,7 @@ package org.apache.axis.maven.server;
import java.io.File;
import java.io.IOException;
+import java.net.URL;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
@@ -28,6 +29,7 @@ import javax.xml.parsers.DocumentBuilder
import javax.xml.parsers.DocumentBuilderFactory;
import javax.xml.parsers.ParserConfigurationException;
+import org.apache.axis.client.AdminClient;
import org.apache.axis.deployment.wsdd.WSDDConstants;
import org.apache.maven.artifact.DependencyResolutionRequiredException;
import org.apache.maven.execution.MavenSession;
@@ -39,6 +41,7 @@ import org.apache.maven.toolchain.Toolch
import org.apache.maven.toolchain.ToolchainManager;
import org.codehaus.plexus.util.DirectoryScanner;
import org.codehaus.plexus.util.FileUtils;
+import org.codehaus.plexus.util.StringUtils;
import org.w3c.dom.Element;
/**
@@ -159,26 +162,26 @@ public class StartServerMojo extends Abs
Log log = getLog();
// Locate java executable to use
- String executable;
+ String jvm;
Toolchain tc = toolchainManager.getToolchainFromBuildContext("jdk", session);
if (tc != null) {
- executable = tc.findTool("java");
+ jvm = tc.findTool("java");
} else {
- executable = System.getProperty("java.home") + File.separator + "bin" + File.separator + "java";
+ jvm = System.getProperty("java.home") + File.separator + "bin" + File.separator + "java";
}
if (log.isDebugEnabled()) {
- log.debug("Java executable: " + executable);
+ log.debug("Java executable: " + jvm);
}
// Get class path
- List classPathElements;
+ List classpath;
try {
- classPathElements = project.getTestClasspathElements();
+ classpath = project.getTestClasspathElements();
} catch (DependencyResolutionRequiredException ex) {
throw new MojoExecutionException("Unexpected exception", ex);
}
if (log.isDebugEnabled()) {
- log.debug("Class path elements: " + classPathElements);
+ log.debug("Class path elements: " + classpath);
}
// Select WSDD files
@@ -271,16 +274,32 @@ public class StartServerMojo extends Abs
}
// Start the server
+ List cmdline = new ArrayList();
+ cmdline.add(jvm);
+ cmdline.add("-cp");
+ cmdline.add(StringUtils.join(classpath.iterator(), File.pathSeparator));
+ cmdline.addAll(vmArgs);
+ cmdline.add("org.apache.axis.server.standalone.StandaloneAxisServer");
+ cmdline.add("-p");
+ cmdline.add(String.valueOf(port));
+ cmdline.add("-w");
+ cmdline.add(workDir.getAbsolutePath());
+ if (jwsDirs != null && jwsDirs.length > 0) {
+ cmdline.add("-j");
+ cmdline.add(StringUtils.join(jwsDirs, File.pathSeparator));
+ }
try {
- getServerManager().startServer(executable,
- (String[])classPathElements.toArray(new String[classPathElements.size()]),
- port,
- (String[])vmArgs.toArray(new String[vmArgs.size()]),
+ AdminClient adminClient = new AdminClient(true);
+ adminClient.setTargetEndpointAddress(new URL("http://localhost:" + port + "/axis/services/AdminService"));
+ getProcessManager().startProcess(
+ "Server on port " + port,
+ (String[])cmdline.toArray(new String[cmdline.size()]),
workDir,
- (File[])deployments.toArray(new File[deployments.size()]),
- (File[])undeployments.toArray(new File[undeployments.size()]),
- jwsDirs,
- debug || foreground ? Integer.MAX_VALUE : 20000);
+ new AxisServerStartAction(port, adminClient,
+ (File[])deployments.toArray(new File[deployments.size()]),
+ debug || foreground ? Integer.MAX_VALUE : 20000),
+ new AxisServerStopAction(adminClient,
+ (File[])undeployments.toArray(new File[undeployments.size()])));
} catch (Exception ex) {
throw new MojoFailureException("Failed to start server", ex);
}
Modified: axis/axis1/java/trunk/maven/maven-axis-server-plugin/src/main/java/org/apache/axis/maven/server/StopAllMojo.java
URL: http://svn.apache.org/viewvc/axis/axis1/java/trunk/maven/maven-axis-server-plugin/src/main/java/org/apache/axis/maven/server/StopAllMojo.java?rev=1244247&r1=1244246&r2=1244247&view=diff
==============================================================================
--- axis/axis1/java/trunk/maven/maven-axis-server-plugin/src/main/java/org/apache/axis/maven/server/StopAllMojo.java (original)
+++ axis/axis1/java/trunk/maven/maven-axis-server-plugin/src/main/java/org/apache/axis/maven/server/StopAllMojo.java Tue Feb 14 22:30:21 2012
@@ -30,7 +30,7 @@ import org.apache.maven.plugin.MojoFailu
public class StopAllMojo extends AbstractServerMojo {
public void execute() throws MojoExecutionException, MojoFailureException {
try {
- getServerManager().stopAll();
+ getProcessManager().stopAll();
} catch (Exception ex) {
throw new MojoFailureException("Errors occurred while attempting to stop processes", ex);
}
Modified: axis/axis1/java/trunk/maven/maven-axis-server-plugin/src/main/resources/META-INF/plexus/components.xml
URL: http://svn.apache.org/viewvc/axis/axis1/java/trunk/maven/maven-axis-server-plugin/src/main/resources/META-INF/plexus/components.xml?rev=1244247&r1=1244246&r2=1244247&view=diff
==============================================================================
--- axis/axis1/java/trunk/maven/maven-axis-server-plugin/src/main/resources/META-INF/plexus/components.xml (original)
+++ axis/axis1/java/trunk/maven/maven-axis-server-plugin/src/main/resources/META-INF/plexus/components.xml Tue Feb 14 22:30:21 2012
@@ -20,8 +20,8 @@
<component-set>
<components>
<component>
- <role>org.apache.axis.maven.server.ServerManager</role>
- <implementation>org.apache.axis.maven.server.DefaultServerManager</implementation>
+ <role>org.apache.axis.maven.server.ProcessManager</role>
+ <implementation>org.apache.axis.maven.server.DefaultProcessManager</implementation>
</component>
</components>
</component-set>
\ No newline at end of file