[jboss-cvs] JBossAS SVN: r86052 - projects/ejb3/trunk/test-remote/src/main/java/org/jboss/ejb3/testremote/server.
jboss-cvs-commits at lists.jboss.org
jboss-cvs-commits at lists.jboss.org
Wed Mar 18 10:52:47 EDT 2009
Author: ALRubinger
Date: 2009-03-18 10:52:47 -0400 (Wed, 18 Mar 2009)
New Revision: 86052
Modified:
projects/ejb3/trunk/test-remote/src/main/java/org/jboss/ejb3/testremote/server/MockServerController.java
Log:
[EJBTHREE-1775] Allow clients to MockServerController to specify the JDK under which MockServer should run
Modified: projects/ejb3/trunk/test-remote/src/main/java/org/jboss/ejb3/testremote/server/MockServerController.java
===================================================================
--- projects/ejb3/trunk/test-remote/src/main/java/org/jboss/ejb3/testremote/server/MockServerController.java 2009-03-18 14:36:53 UTC (rev 86051)
+++ projects/ejb3/trunk/test-remote/src/main/java/org/jboss/ejb3/testremote/server/MockServerController.java 2009-03-18 14:52:47 UTC (rev 86052)
@@ -151,6 +151,23 @@
*/
public void startServer(Class<? extends MockServer> serverClass, String[] arguments) throws Throwable
{
+ this.startServer(null, serverClass, arguments);
+ }
+
+ /**
+ * Creates a remote process (JVM) to launch the {@link MockServer}
+ * and then sends a {@link MockServerRequest#START} request to start the
+ * server
+ *
+ * @param serverClass The class of the server to be used
+ * @param arguments The arguments that will be passed to the {@link MockServer}
+ * as JVM program arguments
+ *
+ * @throws Throwable
+ */
+ public void startServer(String envVarJavaHome, Class<? extends MockServer> serverClass, String[] arguments)
+ throws Throwable
+ {
// Along with the arguments that the client passes to the server,
// append the the serverHost and port number on which the mockserver is
// expected to listen
@@ -162,8 +179,16 @@
processArgs[1] = this.serverHost;
processArgs[2] = String.valueOf(this.port);
- createRemoteProcess(serverClass, processArgs);
+ // Define JAVA_HOME, overridding w/ the specified environment variable if specified
+ String javaHome = System.getenv(MockServerController.ENV_VAR_JAVAHOME);
+ if (envVarJavaHome != null && envVarJavaHome.length() > 0)
+ {
+ String override = System.getenv(envVarJavaHome);
+ javaHome = override != null ? override : javaHome;
+ }
+ createRemoteProcess(javaHome, serverClass, processArgs);
+
/*
* Wait a max of 5 seconds for the remote process (remember, not the server)
* to start
@@ -339,10 +364,10 @@
*
* @throws Throwable
*/
- private void createRemoteProcess(Class<? extends MockServer> serverClass, String arguments[]) throws Throwable
+ private void createRemoteProcess(String javaHome, Class<? extends MockServer> serverClass, String arguments[])
+ throws Throwable
{
// Get the current System Properties and Environment Variables
- String javaHome = System.getenv(MockServerController.ENV_VAR_JAVAHOME);
String conf = MockServerController.LOCATION_CONF;
String testClasses = MockServerController.LOCATION_TEST_CLASSES;
String classes = MockServerController.LOCATION_CLASSES;
More information about the jboss-cvs-commits
mailing list