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()) {