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/01/03 22:52:54 UTC
svn commit: r1226959 - in
/axis/axis1/java/trunk/axis-maven-plugin/src/main/java/org/apache/axis/maven:
DefaultServerManager.java ServerManager.java StartServerMojo.java
Author: veithen
Date: Tue Jan 3 21:52:53 2012
New Revision: 1226959
URL: http://svn.apache.org/viewvc?rev=1226959&view=rev
Log:
Avoid creation of temporary files (server-config.wsdd) in the source tree. These files should be created in the target directory.
Modified:
axis/axis1/java/trunk/axis-maven-plugin/src/main/java/org/apache/axis/maven/DefaultServerManager.java
axis/axis1/java/trunk/axis-maven-plugin/src/main/java/org/apache/axis/maven/ServerManager.java
axis/axis1/java/trunk/axis-maven-plugin/src/main/java/org/apache/axis/maven/StartServerMojo.java
Modified: axis/axis1/java/trunk/axis-maven-plugin/src/main/java/org/apache/axis/maven/DefaultServerManager.java
URL: http://svn.apache.org/viewvc/axis/axis1/java/trunk/axis-maven-plugin/src/main/java/org/apache/axis/maven/DefaultServerManager.java?rev=1226959&r1=1226958&r2=1226959&view=diff
==============================================================================
--- axis/axis1/java/trunk/axis-maven-plugin/src/main/java/org/apache/axis/maven/DefaultServerManager.java (original)
+++ axis/axis1/java/trunk/axis-maven-plugin/src/main/java/org/apache/axis/maven/DefaultServerManager.java Tue Jan 3 21:52:53 2012
@@ -29,7 +29,7 @@ import org.codehaus.plexus.util.StringUt
public class DefaultServerManager implements ServerManager {
private final Map servers = new HashMap();
- public void startServer(String jvm, String[] classpath, int port, String[] wsddFiles) throws Exception {
+ public void startServer(String jvm, String[] classpath, int port, File workDir, String[] wsddFiles) throws Exception {
AdminClient adminClient = new AdminClient(true);
adminClient.setTargetEndpointAddress(new URL("http://localhost:" + port + "/axis/services/AdminService"));
Process process = Runtime.getRuntime().exec(new String[] {
@@ -39,7 +39,7 @@ public class DefaultServerManager implem
"org.apache.axis.transport.http.SimpleAxisServer",
"-p",
String.valueOf(port)
- });
+ }, null, workDir);
servers.put(Integer.valueOf(port), new Server(process, adminClient));
// TODO: need to set up stdout/stderr forwarding; otherwise the process will hang
// TODO: need to ping the server and wait until it becomes ready
Modified: axis/axis1/java/trunk/axis-maven-plugin/src/main/java/org/apache/axis/maven/ServerManager.java
URL: http://svn.apache.org/viewvc/axis/axis1/java/trunk/axis-maven-plugin/src/main/java/org/apache/axis/maven/ServerManager.java?rev=1226959&r1=1226958&r2=1226959&view=diff
==============================================================================
--- axis/axis1/java/trunk/axis-maven-plugin/src/main/java/org/apache/axis/maven/ServerManager.java (original)
+++ axis/axis1/java/trunk/axis-maven-plugin/src/main/java/org/apache/axis/maven/ServerManager.java Tue Jan 3 21:52:53 2012
@@ -18,7 +18,9 @@
*/
package org.apache.axis.maven;
+import java.io.File;
+
public interface ServerManager {
- void startServer(String jvm, String[] classpath, int port, String[] wsddFiles) throws Exception;
+ void startServer(String jvm, String[] classpath, int port, File workDir, String[] wsddFiles) throws Exception;
void stopServer(int port) throws Exception;
}
Modified: axis/axis1/java/trunk/axis-maven-plugin/src/main/java/org/apache/axis/maven/StartServerMojo.java
URL: http://svn.apache.org/viewvc/axis/axis1/java/trunk/axis-maven-plugin/src/main/java/org/apache/axis/maven/StartServerMojo.java?rev=1226959&r1=1226958&r2=1226959&view=diff
==============================================================================
--- axis/axis1/java/trunk/axis-maven-plugin/src/main/java/org/apache/axis/maven/StartServerMojo.java (original)
+++ axis/axis1/java/trunk/axis-maven-plugin/src/main/java/org/apache/axis/maven/StartServerMojo.java Tue Jan 3 21:52:53 2012
@@ -19,6 +19,7 @@
package org.apache.axis.maven;
import java.io.File;
+import java.io.IOException;
import java.util.Arrays;
import java.util.List;
@@ -32,6 +33,7 @@ import org.apache.maven.project.MavenPro
import org.apache.maven.toolchain.Toolchain;
import org.apache.maven.toolchain.ToolchainManager;
import org.codehaus.plexus.util.DirectoryScanner;
+import org.codehaus.plexus.util.FileUtils;
/**
* Start a {@link SimpleAxisServer} instance in a separate JVM.
@@ -65,6 +67,13 @@ public class StartServerMojo extends Abs
private ToolchainManager toolchainManager;
/**
+ * @parameter default-value="${project.build.directory}/axis-server"
+ * @required
+ * @readonly
+ */
+ private File workDirBase;
+
+ /**
* Directory with WSDD files for services to deploy.
*
* @parameter
@@ -116,9 +125,21 @@ public class StartServerMojo extends Abs
wsddFiles = null;
}
+ // Prepare a work directory where the server can create a server-config.wsdd file
+ File workDir = new File(workDirBase, String.valueOf(getPort()));
+ if (workDir.exists()) {
+ try {
+ FileUtils.deleteDirectory(workDir);
+ } catch (IOException ex) {
+ throw new MojoFailureException("Failed to clean the work directory", ex);
+ }
+ } else {
+ workDir.mkdirs();
+ }
+
// Start the server
try {
- getServerManager().startServer(executable, (String[])classPathElements.toArray(new String[classPathElements.size()]), getPort(), wsddFiles);
+ getServerManager().startServer(executable, (String[])classPathElements.toArray(new String[classPathElements.size()]), getPort(), workDir, wsddFiles);
} catch (Exception ex) {
throw new MojoFailureException("Failed to start server", ex);
}