You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@tomee.apache.org by rm...@apache.org on 2012/01/12 10:32:09 UTC
svn commit: r1230451 - in
/openejb/trunk/maven-plugins/tomee-maven-plugin/src/main/java/org/apache/openejb/maven/plugin:
AbstractTomEEMojo.java StartTomEEMojo.java StopTomEEMojo.java
Author: rmannibucau
Date: Thu Jan 12 09:32:09 2012
New Revision: 1230451
URL: http://svn.apache.org/viewvc?rev=1230451&view=rev
Log:
trying to use remote server
Modified:
openejb/trunk/maven-plugins/tomee-maven-plugin/src/main/java/org/apache/openejb/maven/plugin/AbstractTomEEMojo.java
openejb/trunk/maven-plugins/tomee-maven-plugin/src/main/java/org/apache/openejb/maven/plugin/StartTomEEMojo.java
openejb/trunk/maven-plugins/tomee-maven-plugin/src/main/java/org/apache/openejb/maven/plugin/StopTomEEMojo.java
Modified: openejb/trunk/maven-plugins/tomee-maven-plugin/src/main/java/org/apache/openejb/maven/plugin/AbstractTomEEMojo.java
URL: http://svn.apache.org/viewvc/openejb/trunk/maven-plugins/tomee-maven-plugin/src/main/java/org/apache/openejb/maven/plugin/AbstractTomEEMojo.java?rev=1230451&r1=1230450&r2=1230451&view=diff
==============================================================================
--- openejb/trunk/maven-plugins/tomee-maven-plugin/src/main/java/org/apache/openejb/maven/plugin/AbstractTomEEMojo.java (original)
+++ openejb/trunk/maven-plugins/tomee-maven-plugin/src/main/java/org/apache/openejb/maven/plugin/AbstractTomEEMojo.java Thu Jan 12 09:32:09 2012
@@ -25,24 +25,23 @@ import org.apache.maven.artifact.reposit
import org.apache.maven.artifact.resolver.ArtifactResolver;
import org.apache.maven.plugin.MojoExecutionException;
import org.apache.maven.plugin.MojoFailureException;
+import org.apache.openejb.config.RemoteServer;
-import java.io.BufferedReader;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.FileWriter;
import java.io.IOException;
import java.io.InputStream;
-import java.io.InputStreamReader;
import java.io.OutputStream;
import java.net.URI;
import java.net.URISyntaxException;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Enumeration;
-import java.util.HashMap;
import java.util.List;
import java.util.Map;
+import java.util.concurrent.CountDownLatch;
import java.util.zip.ZipEntry;
import java.util.zip.ZipFile;
@@ -326,87 +325,53 @@ public abstract class AbstractTomEEMojo
}
protected void run() {
- final ProcessBuilder builder = baseProcessBuilder();
- builder.command(java(),
- "-javaagent:" + new File(catalinaBase, "lib/openejb-javaagent.jar").getAbsolutePath(),
- "-cp", cp());
- if (args != null && args.length() > 0) {
- builder.command().addAll(Arrays.asList(args.split(" ")));
- }
+ System.setProperty("openejb.home", catalinaBase.getAbsolutePath());
if (debug) {
- builder.command().addAll(Arrays.asList(
- "-Xnoagent", "-Xdebug", "-Xrunjdwp:transport=dt_socket,server=y,suspend=y,address=" + debugPort
- ));
- }
- builder.command().addAll(systemProperties());
- builder.command().addAll(Arrays.asList("org.apache.catalina.startup.Bootstrap", getCmd()));
- builder.redirectErrorStream(true);
-
- final Process process;
- try {
- process = builder.start();
- } catch (Exception e) {
- throw new TomEEException(e.getMessage(), e);
+ System.setProperty("openejb.server.debug", "true");
+ System.setProperty("server.debug.port", Integer.toString(debugPort));
}
- final InputStream is = process.getInputStream();
- final BufferedReader br = new BufferedReader(new InputStreamReader(is));
- String line;
- do {
- try {
- line = br.readLine();
- getLog().info(line);
- } catch (IOException e) {
- line = null;
+ final List<String> strings = new ArrayList<String>();
+ if (systemVariables != null) {
+ for (Map.Entry<String, String> entry : systemVariables.entrySet()) {
+ if (entry.getValue().contains(" ")) {
+ strings.add(String.format("'-D%s=%s'", entry.getKey(), entry.getValue()));
+ } else {
+ strings.add(String.format("-D%s=%s", entry.getKey(), entry.getValue()));
+ }
}
- } while (line != null);
-
- try {
- process.waitFor();
- } catch (InterruptedException e) {
- throw new TomEEException(e.getMessage(), e);
}
- }
-
- protected static String java() {
- return new File(System.getProperty("java.home"), "/bin/java").getAbsolutePath();
- }
-
- protected ProcessBuilder baseProcessBuilder() {
- final ProcessBuilder processBuilder = new ProcessBuilder();
- processBuilder.directory(catalinaBase);
- return processBuilder;
- }
-
- protected List<String> systemProperties() {
- // using a map since it is easier to read
- final Map<String, String> prop = new HashMap<String, String>();
- prop.put("java.util.logging.config.file", new File(catalinaBase, "conf/logging.properties").getAbsolutePath());
- prop.put("java.util.logging.manager", "org.apache.juli.ClassLoaderLogManager");
- prop.put("java.endorsed.dirs", new File(catalinaBase, "endorsed").getAbsolutePath());
- prop.put("catalina.base", catalinaBase.getAbsolutePath());
- prop.put("catalina.home", catalinaBase.getAbsolutePath());
- prop.put("java.io.tmpdir", new File(catalinaBase, "temp").getAbsolutePath());
- if (debug) {
- prop.put("java.compiler", "NONE");
+ if (args != null) {
+ strings.addAll(Arrays.asList(args.split(" ")));
}
if (getNoShutdownHook()) {
- prop.put("tomee.noshutdownhook", "true");
+ strings.add("-Dtomee.noshutdownhook=true");
}
- if (systemVariables != null) {
- prop.putAll(systemVariables);
+
+ final RemoteServer server = new RemoteServer(Integer.MAX_VALUE, false);
+ final CountDownLatch latch = new CountDownLatch(1);
+ if (!getNoShutdownHook()) {
+ Runtime.getRuntime().addShutdownHook(new Thread() {
+ @Override public void run() {
+ server.stop();
+ latch.countDown();
+ }
+ });
}
- // converting it
- final List<String> strings = new ArrayList<String>();
- for (Map.Entry<String, String> entry : prop.entrySet()) {
- if (entry.getValue().contains(" ")) {
- strings.add(String.format("'-D%s=%s'", entry.getKey(), entry.getValue()));
- } else {
- strings.add(String.format("-D%s=%s", entry.getKey(), entry.getValue()));
+ server.start(strings, getCmd(), false);
+
+ if (!getNoShutdownHook()) {
+ try {
+ latch.await();
+ } catch (InterruptedException e) {
+ // ignored
}
}
- return strings;
+ }
+
+ protected static String java() {
+ return new File(System.getProperty("java.home"), "/bin/java").getAbsolutePath();
}
protected boolean getNoShutdownHook() {
Modified: openejb/trunk/maven-plugins/tomee-maven-plugin/src/main/java/org/apache/openejb/maven/plugin/StartTomEEMojo.java
URL: http://svn.apache.org/viewvc/openejb/trunk/maven-plugins/tomee-maven-plugin/src/main/java/org/apache/openejb/maven/plugin/StartTomEEMojo.java?rev=1230451&r1=1230450&r2=1230451&view=diff
==============================================================================
--- openejb/trunk/maven-plugins/tomee-maven-plugin/src/main/java/org/apache/openejb/maven/plugin/StartTomEEMojo.java (original)
+++ openejb/trunk/maven-plugins/tomee-maven-plugin/src/main/java/org/apache/openejb/maven/plugin/StartTomEEMojo.java Thu Jan 12 09:32:09 2012
@@ -24,6 +24,6 @@ package org.apache.openejb.maven.plugin;
public class StartTomEEMojo extends AbstractTomEEMojo {
@Override
public String getCmd() {
- return "startd";
+ return "start";
}
}
Modified: openejb/trunk/maven-plugins/tomee-maven-plugin/src/main/java/org/apache/openejb/maven/plugin/StopTomEEMojo.java
URL: http://svn.apache.org/viewvc/openejb/trunk/maven-plugins/tomee-maven-plugin/src/main/java/org/apache/openejb/maven/plugin/StopTomEEMojo.java?rev=1230451&r1=1230450&r2=1230451&view=diff
==============================================================================
--- openejb/trunk/maven-plugins/tomee-maven-plugin/src/main/java/org/apache/openejb/maven/plugin/StopTomEEMojo.java (original)
+++ openejb/trunk/maven-plugins/tomee-maven-plugin/src/main/java/org/apache/openejb/maven/plugin/StopTomEEMojo.java Thu Jan 12 09:32:09 2012
@@ -24,6 +24,6 @@ package org.apache.openejb.maven.plugin;
public class StopTomEEMojo extends AbstractTomEEMojo {
@Override
public String getCmd() {
- return "stopd";
+ return "stop";
}
}