You are viewing a plain text version of this content. The canonical link for it is here.
Posted to scm@geronimo.apache.org by jd...@apache.org on 2006/09/04 02:23:12 UTC
svn commit: r439883 - in
/geronimo/server/trunk/maven-plugins/geronimo-maven-plugin/src/main/java/org/apache/geronimo/mavenplugins/geronimo:
ServerMojoSupport.java ServerProxy.java StopServerMojo.java
Author: jdillon
Date: Sun Sep 3 17:23:12 2006
New Revision: 439883
URL: http://svn.apache.org/viewvc?view=rev&rev=439883
Log:
Added ServerProxy.shutdown() and using this for geronimo:stop
Modified:
geronimo/server/trunk/maven-plugins/geronimo-maven-plugin/src/main/java/org/apache/geronimo/mavenplugins/geronimo/ServerMojoSupport.java
geronimo/server/trunk/maven-plugins/geronimo-maven-plugin/src/main/java/org/apache/geronimo/mavenplugins/geronimo/ServerProxy.java
geronimo/server/trunk/maven-plugins/geronimo-maven-plugin/src/main/java/org/apache/geronimo/mavenplugins/geronimo/StopServerMojo.java
Modified: geronimo/server/trunk/maven-plugins/geronimo-maven-plugin/src/main/java/org/apache/geronimo/mavenplugins/geronimo/ServerMojoSupport.java
URL: http://svn.apache.org/viewvc/geronimo/server/trunk/maven-plugins/geronimo-maven-plugin/src/main/java/org/apache/geronimo/mavenplugins/geronimo/ServerMojoSupport.java?view=diff&rev=439883&r1=439882&r2=439883
==============================================================================
--- geronimo/server/trunk/maven-plugins/geronimo-maven-plugin/src/main/java/org/apache/geronimo/mavenplugins/geronimo/ServerMojoSupport.java (original)
+++ geronimo/server/trunk/maven-plugins/geronimo-maven-plugin/src/main/java/org/apache/geronimo/mavenplugins/geronimo/ServerMojoSupport.java Sun Sep 3 17:23:12 2006
@@ -59,6 +59,10 @@
*/
protected String password = null;
+ //
+ // TODO: Move assembly bits to InstallerMojoSupport
+ //
+
/**
* List of assembly artifact configurations. Artifacts need to point to ZIP archives.
*
Modified: geronimo/server/trunk/maven-plugins/geronimo-maven-plugin/src/main/java/org/apache/geronimo/mavenplugins/geronimo/ServerProxy.java
URL: http://svn.apache.org/viewvc/geronimo/server/trunk/maven-plugins/geronimo-maven-plugin/src/main/java/org/apache/geronimo/mavenplugins/geronimo/ServerProxy.java?view=diff&rev=439883&r1=439882&r2=439883
==============================================================================
--- geronimo/server/trunk/maven-plugins/geronimo-maven-plugin/src/main/java/org/apache/geronimo/mavenplugins/geronimo/ServerProxy.java (original)
+++ geronimo/server/trunk/maven-plugins/geronimo-maven-plugin/src/main/java/org/apache/geronimo/mavenplugins/geronimo/ServerProxy.java Sun Sep 3 17:23:12 2006
@@ -102,10 +102,6 @@
return mbeanConnection;
}
- //
- // TODO: Add shutdown related methods so we can shutdown via JMX and not require an assembly to be installed
- //
-
public boolean isFullyStarted() {
boolean fullyStarted = true;
@@ -128,7 +124,7 @@
lastError = e;
}
catch (Exception e) {
- log.warn("Unable to determine if the kernel is fully started", e);
+ log.warn("Unable to determine if the server is fully started", e);
fullyStarted = false;
lastError = e;
}
@@ -140,6 +136,16 @@
return lastError;
}
+ public void shutdown() {
+ try {
+ invoke("shutdown");
+ }
+ catch (Exception e) {
+ log.warn("Unable to shutdown the server", e);
+ lastError = e;
+ }
+ }
+
//
// Kernel invocation helpers
//
@@ -161,6 +167,10 @@
}
return invoke(operation, args, signature);
+ }
+
+ private Object invoke(final String operation) throws Exception {
+ return invoke(operation, new Object[0]);
}
private Set listGBeans(final AbstractNameQuery query) throws Exception {
Modified: geronimo/server/trunk/maven-plugins/geronimo-maven-plugin/src/main/java/org/apache/geronimo/mavenplugins/geronimo/StopServerMojo.java
URL: http://svn.apache.org/viewvc/geronimo/server/trunk/maven-plugins/geronimo-maven-plugin/src/main/java/org/apache/geronimo/mavenplugins/geronimo/StopServerMojo.java?view=diff&rev=439883&r1=439882&r2=439883
==============================================================================
--- geronimo/server/trunk/maven-plugins/geronimo-maven-plugin/src/main/java/org/apache/geronimo/mavenplugins/geronimo/StopServerMojo.java (original)
+++ geronimo/server/trunk/maven-plugins/geronimo-maven-plugin/src/main/java/org/apache/geronimo/mavenplugins/geronimo/StopServerMojo.java Sun Sep 3 17:23:12 2006
@@ -18,10 +18,6 @@
import org.apache.maven.plugin.MojoExecutionException;
-import java.io.File;
-
-import org.apache.tools.ant.taskdefs.Java;
-
/**
* Stop the Geronimo server.
*
@@ -32,58 +28,24 @@
public class StopServerMojo
extends ServerMojoSupport
{
- /**
- * Time in seconds to wait before timing out the stop operation.
- *
- * @parameter default-value="60"
- * @required
- */
- private int timeout = -1;
-
protected void doExecute() throws Exception {
- log.info("Stopping Geronimo server...");
+ ServerProxy server = new ServerProxy(port, username, password);
//
- // TODO: Might want to add a marker to the build when start completes...
- // so stop can pick up the right dir w/o assembly configuration
+ // TODO: Maybe we just need isStarted() not need to be fully started?
//
-
- if (!installDir.exists()) {
- // Complain if there is no assemblyDir, as that probably means that 'start' was not executed.
- throw new MojoExecutionException("Missing assembly directory: " + installDir);
- }
-
- Java java = (Java)createTask("java");
- java.setJar(new File(installDir, "bin/shutdown.jar"));
- java.setDir(installDir);
- java.setFailonerror(true);
- java.setFork(true);
- java.setLogError(true);
-
- if (timeout > 0) {
- // Convert to milliseconds
- java.setTimeout(new Long(timeout * 1000));
- }
-
- if (port > 0) {
- java.createArg().setValue("--port");
- java.createArg().setValue(String.valueOf(port));
- }
-
- if (username != null) {
- java.createArg().setValue("--user");
- java.createArg().setValue(username);
+
+ if (!server.isFullyStarted()) {
+ throw new MojoExecutionException("Server does not appear to be started");
}
-
- if (password != null) {
- java.createArg().setValue("--password");
- java.createArg().setValue(password);
+ else {
+ log.info("Stopping Geronimo server...");
+
+ server.shutdown();
+
+ //
+ // TODO: Verify its down?
+ //
}
-
- java.execute();
-
- //
- // TODO: Verify that it actually stopped?
- //
}
}