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/06/15 22:23:18 UTC

svn commit: r1350781 - in /openejb/trunk/openejb: arquillian/arquillian-tomee-common/src/main/java/org/apache/openejb/arquillian/common/ arquillian/arquillian-tomee-embedded/src/main/java/org/apache/openejb/arquillian/embedded/ arquillian/arquillian-to...

Author: rmannibucau
Date: Fri Jun 15 20:23:17 2012
New Revision: 1350781

URL: http://svn.apache.org/viewvc?rev=1350781&view=rev
Log:
ability to configure host in arquillian adapter for embedded, remote and webapp remote tomee adapters

Modified:
    openejb/trunk/openejb/arquillian/arquillian-tomee-common/src/main/java/org/apache/openejb/arquillian/common/Setup.java
    openejb/trunk/openejb/arquillian/arquillian-tomee-common/src/main/java/org/apache/openejb/arquillian/common/TomEEConfiguration.java
    openejb/trunk/openejb/arquillian/arquillian-tomee-common/src/main/java/org/apache/openejb/arquillian/common/TomEEContainer.java
    openejb/trunk/openejb/arquillian/arquillian-tomee-embedded/src/main/java/org/apache/openejb/arquillian/embedded/EmbeddedTomEEContainer.java
    openejb/trunk/openejb/arquillian/arquillian-tomee-remote/src/main/java/org/apache/tomee/arquillian/remote/RemoteTomEEConfiguration.java
    openejb/trunk/openejb/arquillian/arquillian-tomee-remote/src/main/java/org/apache/tomee/arquillian/remote/RemoteTomEEContainer.java
    openejb/trunk/openejb/arquillian/arquillian-tomee-remote/src/test/resources/arquillian.xml
    openejb/trunk/openejb/arquillian/arquillian-tomee-webapp-remote/src/main/java/org/apache/tomee/arquillian/webapp/TomEEWebappConfiguration.java
    openejb/trunk/openejb/arquillian/arquillian-tomee-webapp-remote/src/main/java/org/apache/tomee/arquillian/webapp/TomEEWebappContainer.java
    openejb/trunk/openejb/tomee/tomee-embedded/src/main/java/org/apache/tomee/embedded/Configuration.java
    openejb/trunk/openejb/tomee/tomee-embedded/src/main/java/org/apache/tomee/embedded/Container.java

Modified: openejb/trunk/openejb/arquillian/arquillian-tomee-common/src/main/java/org/apache/openejb/arquillian/common/Setup.java
URL: http://svn.apache.org/viewvc/openejb/trunk/openejb/arquillian/arquillian-tomee-common/src/main/java/org/apache/openejb/arquillian/common/Setup.java?rev=1350781&r1=1350780&r2=1350781&view=diff
==============================================================================
--- openejb/trunk/openejb/arquillian/arquillian-tomee-common/src/main/java/org/apache/openejb/arquillian/common/Setup.java (original)
+++ openejb/trunk/openejb/arquillian/arquillian-tomee-common/src/main/java/org/apache/openejb/arquillian/common/Setup.java Fri Jun 15 20:23:17 2012
@@ -40,7 +40,7 @@ public class Setup {
     public static final int DEFAULT_AJP_PORT = 8009;
 
     public static void exportProperties(final File openejbHome, final TomEEConfiguration c) {
-        System.setProperty("java.naming.provider.url", "http://localhost:" + c.getHttpPort() + "/tomee/ejb");
+        System.setProperty("java.naming.provider.url", "http://" + c.getHost() + ":" + c.getHttpPort() + "/tomee/ejb");
         System.setProperty("connect.tries", "90");
         System.setProperty("server.http.port", String.valueOf(c.getHttpPort()));
         System.setProperty("server.shutdown.port", String.valueOf(c.getStopPort()));
@@ -121,9 +121,9 @@ public class Setup {
         }
     }
 
-    public static boolean isRunning(final int port) {
+    public static boolean isRunning(final String host, final int port) {
         try {
-            final Socket socket = new Socket("localhost", port);
+            final Socket socket = new Socket(host, port);
             final OutputStream out = socket.getOutputStream();
             out.close();
             return true;

Modified: openejb/trunk/openejb/arquillian/arquillian-tomee-common/src/main/java/org/apache/openejb/arquillian/common/TomEEConfiguration.java
URL: http://svn.apache.org/viewvc/openejb/trunk/openejb/arquillian/arquillian-tomee-common/src/main/java/org/apache/openejb/arquillian/common/TomEEConfiguration.java?rev=1350781&r1=1350780&r2=1350781&view=diff
==============================================================================
--- openejb/trunk/openejb/arquillian/arquillian-tomee-common/src/main/java/org/apache/openejb/arquillian/common/TomEEConfiguration.java (original)
+++ openejb/trunk/openejb/arquillian/arquillian-tomee-common/src/main/java/org/apache/openejb/arquillian/common/TomEEConfiguration.java Fri Jun 15 20:23:17 2012
@@ -33,6 +33,7 @@ public class TomEEConfiguration implemen
     private int stopPort = 8005;
     private String dir = System.getProperty("java.io.tmpdir") + "/arquillian-apache-tomee";
     private String appWorkingDir = System.getProperty("java.io.tmpdir");
+    private String host = "localhost";
 
     public int getHttpPort() {
         return httpPort;
@@ -76,4 +77,12 @@ public class TomEEConfiguration implemen
     public void setExportConfAsSystemProperty(boolean exportConfAsSystemProperty) {
         this.exportConfAsSystemProperty = exportConfAsSystemProperty;
     }
+
+    public String getHost() {
+        return host;
+    }
+
+    public void setHost(String host) {
+        this.host = host;
+    }
 }

Modified: openejb/trunk/openejb/arquillian/arquillian-tomee-common/src/main/java/org/apache/openejb/arquillian/common/TomEEContainer.java
URL: http://svn.apache.org/viewvc/openejb/trunk/openejb/arquillian/arquillian-tomee-common/src/main/java/org/apache/openejb/arquillian/common/TomEEContainer.java?rev=1350781&r1=1350780&r2=1350781&view=diff
==============================================================================
--- openejb/trunk/openejb/arquillian/arquillian-tomee-common/src/main/java/org/apache/openejb/arquillian/common/TomEEContainer.java (original)
+++ openejb/trunk/openejb/arquillian/arquillian-tomee-common/src/main/java/org/apache/openejb/arquillian/common/TomEEContainer.java Fri Jun 15 20:23:17 2012
@@ -49,7 +49,6 @@ import org.jboss.shrinkwrap.descriptor.a
 public abstract class TomEEContainer<Configuration extends TomEEConfiguration> implements DeployableContainer<Configuration> {
     protected static final Logger LOGGER = Logger.getLogger(TomEEContainer.class.getName());
 
-    protected static final String LOCALHOST = "localhost";
     protected static final String SHUTDOWN_COMMAND = "SHUTDOWN" + Character.toString((char) -1);
     protected Configuration configuration;
     protected Map<String, DeployedApp> moduleIds = new HashMap<String, DeployedApp>();
@@ -138,7 +137,7 @@ public abstract class TomEEContainer<Con
 
     public void stop() throws LifecycleException {
         try {
-            Socket socket = new Socket(LOCALHOST, configuration.getStopPort());
+            Socket socket = new Socket(configuration.getHost(), configuration.getStopPort());
             OutputStream out = socket.getOutputStream();
             out.write(SHUTDOWN_COMMAND.getBytes());
 
@@ -151,7 +150,7 @@ public abstract class TomEEContainer<Con
     protected void waitForShutdown(int tries) {
         try {
 
-            Socket socket = new Socket(LOCALHOST, configuration.getStopPort());
+            Socket socket = new Socket(configuration.getHost(), configuration.getStopPort());
             OutputStream out = socket.getOutputStream();
             out.close();
         } catch (Exception e) {
@@ -226,7 +225,7 @@ public abstract class TomEEContainer<Con
                 }
             }
 
-            HTTPContext httpContext = new HTTPContext(LOCALHOST, configuration.getHttpPort());
+            HTTPContext httpContext = new HTTPContext(configuration.getHost(), configuration.getHttpPort());
 
             String arquillianServlet;
             // Avoids "inconvertible types" error in windows build
@@ -249,7 +248,7 @@ public abstract class TomEEContainer<Con
     protected Deployer deployer() throws NamingException {
         final Properties properties = new Properties();
         properties.setProperty(Context.INITIAL_CONTEXT_FACTORY, "org.apache.openejb.client.RemoteInitialContextFactory");
-        properties.setProperty(Context.PROVIDER_URL, "http://" + LOCALHOST + ":" + configuration.getHttpPort() + "/tomee/ejb");
+        properties.setProperty(Context.PROVIDER_URL, "http://" + configuration.getHost() + ":" + configuration.getHttpPort() + "/tomee/ejb");
         return (Deployer) new InitialContext(properties).lookup("openejb/DeployerBusinessRemote");
     }
 

Modified: openejb/trunk/openejb/arquillian/arquillian-tomee-embedded/src/main/java/org/apache/openejb/arquillian/embedded/EmbeddedTomEEContainer.java
URL: http://svn.apache.org/viewvc/openejb/trunk/openejb/arquillian/arquillian-tomee-embedded/src/main/java/org/apache/openejb/arquillian/embedded/EmbeddedTomEEContainer.java?rev=1350781&r1=1350780&r2=1350781&view=diff
==============================================================================
--- openejb/trunk/openejb/arquillian/arquillian-tomee-embedded/src/main/java/org/apache/openejb/arquillian/embedded/EmbeddedTomEEContainer.java (original)
+++ openejb/trunk/openejb/arquillian/arquillian-tomee-embedded/src/main/java/org/apache/openejb/arquillian/embedded/EmbeddedTomEEContainer.java Fri Jun 15 20:23:17 2012
@@ -43,8 +43,6 @@ import java.util.concurrent.ConcurrentHa
 
 public class EmbeddedTomEEContainer extends TomEEContainer<EmbeddedTomEEConfiguration> {
 
-    private static final String LOCALHOST = "localhost";
-
     @Inject
     @ContainerScoped
     private InstanceProducer<Context> contextInstance;
@@ -76,6 +74,7 @@ public class EmbeddedTomEEContainer exte
     	configuration.setDir(tomeeConfiguration.getDir());
     	configuration.setHttpPort(tomeeConfiguration.getHttpPort());
     	configuration.setStopPort(tomeeConfiguration.getStopPort());
+        configuration.setHost(tomeeConfiguration.getHost());
 		return configuration;
 	}
 
@@ -113,7 +112,7 @@ public class EmbeddedTomEEContainer exte
             final AppInfo info = container.getInfo(name);
             final String context = getArchiveNameWithoutExtension(archive);
 
-            final HTTPContext httpContext = new HTTPContext(LOCALHOST, configuration.getHttpPort());
+            final HTTPContext httpContext = new HTTPContext(configuration.getHost(), configuration.getHttpPort());
             httpContext.add(new Servlet("ArquillianServletRunner", "/" + context));
             addServlets(httpContext, info);
 

Modified: openejb/trunk/openejb/arquillian/arquillian-tomee-remote/src/main/java/org/apache/tomee/arquillian/remote/RemoteTomEEConfiguration.java
URL: http://svn.apache.org/viewvc/openejb/trunk/openejb/arquillian/arquillian-tomee-remote/src/main/java/org/apache/tomee/arquillian/remote/RemoteTomEEConfiguration.java?rev=1350781&r1=1350780&r2=1350781&view=diff
==============================================================================
--- openejb/trunk/openejb/arquillian/arquillian-tomee-remote/src/main/java/org/apache/tomee/arquillian/remote/RemoteTomEEConfiguration.java (original)
+++ openejb/trunk/openejb/arquillian/arquillian-tomee-remote/src/main/java/org/apache/tomee/arquillian/remote/RemoteTomEEConfiguration.java Fri Jun 15 20:23:17 2012
@@ -96,4 +96,5 @@ public class RemoteTomEEConfiguration ex
     public void setAjpPort(int ajpPort) {
         this.ajpPort = ajpPort;
     }
+
 }

Modified: openejb/trunk/openejb/arquillian/arquillian-tomee-remote/src/main/java/org/apache/tomee/arquillian/remote/RemoteTomEEContainer.java
URL: http://svn.apache.org/viewvc/openejb/trunk/openejb/arquillian/arquillian-tomee-remote/src/main/java/org/apache/tomee/arquillian/remote/RemoteTomEEContainer.java?rev=1350781&r1=1350780&r2=1350781&view=diff
==============================================================================
--- openejb/trunk/openejb/arquillian/arquillian-tomee-remote/src/main/java/org/apache/tomee/arquillian/remote/RemoteTomEEContainer.java (original)
+++ openejb/trunk/openejb/arquillian/arquillian-tomee-remote/src/main/java/org/apache/tomee/arquillian/remote/RemoteTomEEContainer.java Fri Jun 15 20:23:17 2012
@@ -41,7 +41,7 @@ public class RemoteTomEEContainer extend
 
     public void start() throws LifecycleException {
         // see if TomEE is already running by checking the http port
-        if (Setup.isRunning(configuration.getHttpPort())) {
+        if (Setup.isRunning(configuration.getHost(), configuration.getHttpPort())) {
 
             logger.info(String.format("TomEE found running on port %s", configuration.getHttpPort()));
 

Modified: openejb/trunk/openejb/arquillian/arquillian-tomee-remote/src/test/resources/arquillian.xml
URL: http://svn.apache.org/viewvc/openejb/trunk/openejb/arquillian/arquillian-tomee-remote/src/test/resources/arquillian.xml?rev=1350781&r1=1350780&r2=1350781&view=diff
==============================================================================
--- openejb/trunk/openejb/arquillian/arquillian-tomee-remote/src/test/resources/arquillian.xml (original)
+++ openejb/trunk/openejb/arquillian/arquillian-tomee-remote/src/test/resources/arquillian.xml Fri Jun 15 20:23:17 2012
@@ -22,8 +22,8 @@
 	
        <container qualifier="tomee" default="true">
            <configuration>
-               <property name="httpPort">-1</property>
-               <property name="stopPort">-1</property>
+               <property name="httpPort">8080</property>
+               <property name="stopPort">8005</property>
                <property name="ajpPort">-1</property>
                <property name="version">${version.tomee}</property>
                <property name="dir">target/apache-tomee-remote</property>

Modified: openejb/trunk/openejb/arquillian/arquillian-tomee-webapp-remote/src/main/java/org/apache/tomee/arquillian/webapp/TomEEWebappConfiguration.java
URL: http://svn.apache.org/viewvc/openejb/trunk/openejb/arquillian/arquillian-tomee-webapp-remote/src/main/java/org/apache/tomee/arquillian/webapp/TomEEWebappConfiguration.java?rev=1350781&r1=1350780&r2=1350781&view=diff
==============================================================================
--- openejb/trunk/openejb/arquillian/arquillian-tomee-webapp-remote/src/main/java/org/apache/tomee/arquillian/webapp/TomEEWebappConfiguration.java (original)
+++ openejb/trunk/openejb/arquillian/arquillian-tomee-webapp-remote/src/main/java/org/apache/tomee/arquillian/webapp/TomEEWebappConfiguration.java Fri Jun 15 20:23:17 2012
@@ -94,4 +94,5 @@ public class TomEEWebappConfiguration ex
     public void setAjpPort(int ajpPort) {
         this.ajpPort = ajpPort;
     }
+
 }

Modified: openejb/trunk/openejb/arquillian/arquillian-tomee-webapp-remote/src/main/java/org/apache/tomee/arquillian/webapp/TomEEWebappContainer.java
URL: http://svn.apache.org/viewvc/openejb/trunk/openejb/arquillian/arquillian-tomee-webapp-remote/src/main/java/org/apache/tomee/arquillian/webapp/TomEEWebappContainer.java?rev=1350781&r1=1350780&r2=1350781&view=diff
==============================================================================
--- openejb/trunk/openejb/arquillian/arquillian-tomee-webapp-remote/src/main/java/org/apache/tomee/arquillian/webapp/TomEEWebappContainer.java (original)
+++ openejb/trunk/openejb/arquillian/arquillian-tomee-webapp-remote/src/main/java/org/apache/tomee/arquillian/webapp/TomEEWebappContainer.java Fri Jun 15 20:23:17 2012
@@ -46,7 +46,7 @@ public class TomEEWebappContainer extend
 
     public void start() throws LifecycleException {
         // see if TomEE is already running by checking the http port
-        if (Setup.isRunning(configuration.getHttpPort())) {
+        if (Setup.isRunning(configuration.getHost(), configuration.getHttpPort())) {
 
             logger.info(String.format("Tomcat found running on port %s", configuration.getHttpPort()));
 

Modified: openejb/trunk/openejb/tomee/tomee-embedded/src/main/java/org/apache/tomee/embedded/Configuration.java
URL: http://svn.apache.org/viewvc/openejb/trunk/openejb/tomee/tomee-embedded/src/main/java/org/apache/tomee/embedded/Configuration.java?rev=1350781&r1=1350780&r2=1350781&view=diff
==============================================================================
--- openejb/trunk/openejb/tomee/tomee-embedded/src/main/java/org/apache/tomee/embedded/Configuration.java (original)
+++ openejb/trunk/openejb/tomee/tomee-embedded/src/main/java/org/apache/tomee/embedded/Configuration.java Fri Jun 15 20:23:17 2012
@@ -24,6 +24,7 @@ public class Configuration {
     private int httpPort = 8080;
     private int ajpPort = 8009;
     private int stopPort = 8005;
+    private String host = "localhost";
     protected String dir;
 
     public int getHttpPort() {
@@ -57,4 +58,12 @@ public class Configuration {
     public void setDir(String dir) {
         this.dir = dir;
     }
+
+    public String getHost() {
+        return host;
+    }
+
+    public void setHost(String host) {
+        this.host = host;
+    }
 }

Modified: openejb/trunk/openejb/tomee/tomee-embedded/src/main/java/org/apache/tomee/embedded/Container.java
URL: http://svn.apache.org/viewvc/openejb/trunk/openejb/tomee/tomee-embedded/src/main/java/org/apache/tomee/embedded/Container.java?rev=1350781&r1=1350780&r2=1350781&view=diff
==============================================================================
--- openejb/trunk/openejb/tomee/tomee-embedded/src/main/java/org/apache/tomee/embedded/Container.java (original)
+++ openejb/trunk/openejb/tomee/tomee-embedded/src/main/java/org/apache/tomee/embedded/Container.java Fri Jun 15 20:23:17 2012
@@ -32,7 +32,6 @@ import org.apache.catalina.Service;
 import org.apache.catalina.connector.Connector;
 import org.apache.catalina.core.StandardServer;
 import org.apache.catalina.session.StandardManager;
-import org.apache.catalina.startup.Bootstrap;
 import org.apache.catalina.startup.CatalinaProperties;
 import org.apache.catalina.startup.Tomcat;
 import org.apache.coyote.http11.Http11Protocol;
@@ -48,6 +47,7 @@ import org.apache.openejb.assembler.clas
 import org.apache.openejb.assembler.classic.EnterpriseBeanInfo;
 import org.apache.openejb.assembler.classic.WebAppInfo;
 import org.apache.openejb.config.ConfigurationFactory;
+import org.apache.openejb.loader.Files;
 import org.apache.openejb.loader.IO;
 import org.apache.openejb.loader.SystemInstance;
 import org.apache.openejb.util.Logger;
@@ -69,7 +69,6 @@ public class Container {
         Assembler.installNaming("org.apache.naming", true);
     }
 
-    private Bootstrap bootstrap;
     protected Configuration configuration;
     private File base;
     private Map<String, String> moduleIds = new HashMap<String, String>(); // TODO: manage multimap
@@ -84,7 +83,6 @@ public class Container {
         configuration.setHttpPort(23880);
         configuration.setStopPort(23881);
         setup(configuration);
-        final Class<Bootstrap> bootstrapClass = Bootstrap.class;
         tomcat = new TomcatWithFastSessionIDs();
     }
 
@@ -99,19 +97,18 @@ public class Container {
 
         base = new File(dir);
         if (base.exists()) {
-            base.delete();
+            Files.delete(base);
         }
 
-        base.mkdirs();
-        // TODO: this delete on exit won't actually work
-        base.deleteOnExit();
+        Files.mkdirs(base);
+        Files.deleteOnExit(base);
 
         final File conf = createDirectory(base, "conf");
-        final File lib = createDirectory(base, "lib");
-        final File logs = createDirectory(base, "logs");
         final File webapps = createDirectory(base, "webapps");
-        final File temp = createDirectory(base, "temp");
-        final File work = createDirectory(base, "work");
+        createDirectory(base, "lib");
+        createDirectory(base, "logs");
+        createDirectory(base, "temp");
+        createDirectory(base, "work");
 
         copyFileTo(conf, "catalina.policy");
         copyTemplateTo(conf, "catalina.properties");
@@ -143,6 +140,8 @@ public class Container {
         tomcat.setConnector(connector);
         tomcat.setBaseDir(base.getAbsolutePath());
         tomcat.getHost().setAppBase(webapps.getAbsolutePath());
+        tomcat.setHostname(configuration.getHost());
+        tomcat.getEngine().setDefaultHost(configuration.getHost());
 
         // Bootstrap Tomcat
         System.out.println("Starting TomEE from: " + base.getAbsolutePath());
@@ -191,6 +190,7 @@ public class Container {
                 System.setProperty("tomcat.built", serverBuilt);
             }
         } catch (Throwable e) {
+            // no-op
         }
 
         SystemInstance.init(System.getProperties());
@@ -336,16 +336,6 @@ public class Container {
         }
     }
 
-    private void createTomcatDirectories(File directory) {
-        createDirectory(directory, "apps");
-        createDirectory(directory, "conf");
-        createDirectory(directory, "lib");
-        createDirectory(directory, "logs");
-        createDirectory(directory, "webapps");
-        createDirectory(directory, "temp");
-        createDirectory(directory, "work");
-    }
-
     private File createDirectory(File parent, String directory) {
         File dir = new File(parent, directory);
         if (!dir.exists() && !dir.mkdirs()) {