public static void main(final String[] args) { assert args.length > 0 : "no arguments supplied: valid arguments are 'start' or 'stop'"; if (args[0].equalsIgnoreCase(START)) { final RemoteServer remoteServer = new RemoteServer(); try { remoteServer.start(); } catch (final Exception e) { remoteServer.destroy(); throw e; } } else if (args[0].equalsIgnoreCase(STOP)) { final RemoteServer remoteServer = new RemoteServer(); remoteServer.serverHasAlreadyBeenStarted = false; try { remoteServer.forceStop(); } catch (final Exception e) { e.printStackTrace(System.err); } } else { throw new OpenEJBRuntimeException("valid arguments are 'start' or 'stop'"); } }
public ContainersImplTomEE() { System.out.println("ContainersImpl=" + ContainersImplTomEE.class.getName()); System.out.println("Initialized ContainersImplTomEE " + (++count)); server = new RemoteServer(); server.setPortStartup(this.port); }
public static void main(String[] args) { assert args.length > 0 : "no arguments supplied: valid arguments are 'start' or 'stop'"; if (args[0].equalsIgnoreCase("start")){ new RemoteServer().start(); } else if (args[0].equalsIgnoreCase("stop")) { RemoteServer remoteServer = new RemoteServer(); remoteServer.serverHasAlreadyBeenStarted = false; remoteServer.stop(); } else { throw new RuntimeException("valid arguments are 'start' or 'stop'"); } } public Properties getProperties() {
public void destroy() { try { final boolean stopSent = stop(); final Process p = server.get(); if (p != null) { if (stopSent) { waitFor(p); } else { p.destroy(); } } } catch (final Exception e) { Logger.getLogger(RemoteServer.class.getName()).log(Level.WARNING, "Failed to destroy remote server process", e); } }
@Override public boolean deploy(final InputStream archive, final String name) throws IOException { if (name.endsWith("war")) { currentFile = new File(WEBAPP_DIR, name); } else { currentFile = new File(APPS_DIR, name); } System.out.println(currentFile); writeToFile(currentFile, archive); final int port = ServerLocal.getPort(-1); if (port > 0) { server = new RemoteServer(100, true); server.setPortStartup(port); } else { throw new OpenEJBTCKRuntimeException("Please set the tomee port using the system property 'server.http.port'"); } try { server.start(); } catch (final Exception e) { server.destroy(); e.printStackTrace(); throw e; } return (exception = lookup().exception()) == null; }
ok = !connect(port, 1); final File home = getHome(); final String javaVersion = System.getProperty("java.version"); if (verbose) { javaagentJar = lib("openejb-javaagent", lib, webapplib); } catch (final IllegalStateException ise) { final File openejbJar = lib("openejb-core", lib, webapplib); final StringBuilder cp = new StringBuilder(openejbJar.getAbsolutePath()); if (additionalClasspath != null) { addIfSet(argsList, "javax.net.ssl.keyStore"); addIfSet(argsList, "javax.net.ssl.keyStorePassword"); addIfSet(argsList, "javax.net.ssl.trustStore"); addIfSet(argsList, "java.protocol.handler.pkgs"); server.set(p); } else if (STOP.equals(cmd)) { waitFor(p); p = server.get(); if (p != null) { waitFor(p); if (!connect(port, Integer.MAX_VALUE)) { throw new OpenEJBRuntimeException("Could not connect to server: " + this.host + ":" + port); if (!connect(port, tries)) {
void startServer() throws InterruptedException { setupSystemProperties(); server = createRemoteServer(); server.setPortStartup(config.getHttpPort()); setupClassPath(server); server.start(getJvmArgs(), "start", true); server.getServer().waitFor(); }
public void start() { start(Collections.<String>emptyList(), START, true); }
@Override public void close() { instance.container.destroy(); instance.container = null; }
RemoteServer createRemoteServer() { return new RemoteServer(60, true); }
public void start() { if (!connect()) { try { System.out.println("[] START SERVER"); File home = getHome(); System.out.println("OPENEJB_HOME = "+home.getAbsolutePath()); String systemInfo = "Java " + System.getProperty("java.version") + "; " + System.getProperty("os.name") + "/" + System.getProperty("os.version"); connect(Integer.MAX_VALUE); } else { connect(10);
public void stopServer() throws Exception { server.stop(); } }
private boolean connect(int tries) { //System.out.println("CONNECT "+ tries); try { int port; if (!TOMCAT) { port = 4200; } else { port = 8005; } Socket socket = new Socket("localhost", port); OutputStream out = socket.getOutputStream(); out.close(); } catch (Exception e) { //System.out.println(e.getMessage()); if (tries < 2) { return false; } else { try { Thread.sleep(2000); } catch (Exception e2) { e.printStackTrace(); } return connect(--tries); } } return true; }
public RemoteServer(final int tries, final boolean verbose) { this.tries = (tries < 1 ? 1 : (tries > 3600 ? 3600 : tries)); //Wait at least 1 second to start or stop, but not more than an hour. this.verbose = verbose; home = getHome(); tomcat = (home != null) && (new File(new File(home, "bin"), "catalina.sh").exists()); portShutdown = options.get(SERVER_SHUTDOWN_PORT, tomcat ? 8005 : 4200); portStartup = portShutdown; command = options.get(SERVER_SHUTDOWN_COMMAND, "SHUTDOWN"); host = options.get(SERVER_SHUTDOWN_HOST, "localhost"); }
@Override public boolean deploy(final InputStream archive, final String name) throws IOException { if (name.endsWith("war")) { currentFile = new File(WEBAPP_DIR, name); } else { currentFile = new File(APPS_DIR, name); } System.out.println(currentFile); writeToFile(currentFile, archive); final int port = ServerLocal.getPort(-1); if (port > 0) { server = new RemoteServer(100, true); server.setPortStartup(port); } else { throw new OpenEJBTCKRuntimeException("Please set the tomee port using the system property 'server.http.port'"); } try { server.start(); } catch (final Exception e) { server.destroy(); e.printStackTrace(); throw new RuntimeException(e); } return (exception = lookup().exception()) == null; }
ok = !connect(port, 1); final File home = getHome(); final String javaVersion = JavaSecurityManagers.getSystemProperty("java.version"); if (verbose) { javaagentJar = lib("openejb-javaagent", lib, webapplib); } catch (final IllegalStateException ise) { argsList.addAll(parse(javaOpts.replace("${openejb.base}", home.getAbsolutePath()))); final File openejbJar = lib("openejb-core", lib, webapplib); final StringBuilder cp = new StringBuilder(openejbJar.getAbsolutePath()); if (additionalClasspath != null) { addIfSet(argsList, "javax.net.ssl.keyStore"); addIfSet(argsList, "javax.net.ssl.keyStorePassword"); addIfSet(argsList, "javax.net.ssl.trustStore"); addIfSet(argsList, "java.protocol.handler.pkgs"); server.set(p); } else if (STOP.equals(cmd)) { waitFor(p); p = server.get(); if (p != null) { waitFor(p); if (!connect(port, Integer.MAX_VALUE)) { throw new OpenEJBRuntimeException("Could not connect to server: " + this.host + ":" + port);
public void start() { start(Collections.<String>emptyList(), START, true); }
@Override public void cleanup() throws IOException { System.out.println("Cleanup called"); server.destroy(); } }
public void destroy() { stop(); }