Skip to content

Commit 7aca4f8

Browse files
committed
ARQ-476 Add portBindingSet property to JBoss 6 configuration
1 parent 3cc023a commit 7aca4f8

File tree

2 files changed

+90
-3
lines changed

2 files changed

+90
-3
lines changed

jbossas-managed-6/src/main/java/org/jboss/arquillian/container/jbossas/managed_6/JBossASConfiguration.java

Lines changed: 53 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,7 @@
1717
package org.jboss.arquillian.container.jbossas.managed_6;
1818

1919
import java.io.File;
20+
import java.util.HashMap;
2021

2122
import org.jboss.arquillian.container.spi.ConfigurationException;
2223
import org.jboss.arquillian.container.spi.client.container.ContainerConfiguration;
@@ -39,6 +40,8 @@ public class JBossASConfiguration implements ContainerConfiguration
3940

4041
private String profileName = "default";
4142

43+
private String portBindingSet = null;
44+
4245
private boolean useRmiPortForAliveCheck = false;
4346

4447
private String jbossHome = System.getenv("JBOSS_HOME");
@@ -51,6 +54,46 @@ public class JBossASConfiguration implements ContainerConfiguration
5154

5255
private int shutdownTimeoutInSeconds = 45;
5356

57+
enum JBossBindingSet {
58+
PORTS_01("ports-01", 100),
59+
PORTS_02("ports-02", 200),
60+
PORTS_03("ports-03", 300);
61+
62+
private final String name;
63+
private final int rmiPort;
64+
private final int httpPort;
65+
66+
private static final HashMap<String, JBossBindingSet> bindings = new HashMap<String, JBossBindingSet>();
67+
68+
static
69+
{
70+
for (JBossBindingSet binding : values())
71+
{
72+
bindings.put(binding.name, binding);
73+
}
74+
}
75+
76+
static JBossBindingSet getBindingSet(String name)
77+
{
78+
return bindings.get(name);
79+
}
80+
81+
private JBossBindingSet(String name, int offSet)
82+
{
83+
this.name = name;
84+
this.rmiPort = 1099 + offSet;
85+
this.httpPort = 8080 + offSet;
86+
}
87+
88+
int getRmiPort() {
89+
return rmiPort;
90+
}
91+
92+
int getHttpPort() {
93+
return httpPort;
94+
}
95+
}
96+
5497
/* (non-Javadoc)
5598
* @see org.jboss.arquillian.spi.client.container.ContainerConfiguration#validate()
5699
*/
@@ -75,6 +118,16 @@ public int getHttpPort()
75118
return httpPort;
76119
}
77120

121+
public String getPortBindingSet()
122+
{
123+
return portBindingSet;
124+
}
125+
126+
public void setPortBindingSet(String portBindingSet)
127+
{
128+
this.portBindingSet = portBindingSet;
129+
}
130+
78131
/**
79132
* Set the HTTP Connect port. <br/>
80133
* This is not the JBoss AS HTTP Bind port, bind port must be set in the JBoss XML configuration.<br/>

jbossas-managed-6/src/main/java/org/jboss/arquillian/container/jbossas/managed_6/JBossASLocalContainer.java

Lines changed: 37 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -25,6 +25,7 @@
2525

2626
import javax.naming.Context;
2727

28+
import org.jboss.arquillian.container.jbossas.managed_6.JBossASConfiguration.JBossBindingSet;
2829
import org.jboss.arquillian.container.spi.client.container.DeployableContainer;
2930
import org.jboss.arquillian.container.spi.client.container.DeploymentException;
3031
import org.jboss.arquillian.container.spi.client.container.LifecycleException;
@@ -300,8 +301,8 @@ private Server createAndConfigureServer()
300301
{
301302
Server server = new Server();
302303
server.setName(configuration.getProfileName());
303-
server.setHttpPort(configuration.getHttpPort());
304-
server.setRmiPort(configuration.getRmiPort());
304+
server.setHttpPort(httpPort());
305+
server.setRmiPort(rmiPort());
305306
server.setHost(configuration.getBindAddress());
306307
server.setHasWebServer(!configuration.isUseRmiPortForAliveCheck());
307308

@@ -310,7 +311,7 @@ private Server createAndConfigureServer()
310311
server.setPartition(Long.toHexString(System.currentTimeMillis()));
311312

312313
// Set server's JVM arguments
313-
setServerVMArgs(server, configuration.getJavaVmArguments());
314+
setServerVMArgs(server, javaVmArguments());
314315

315316
// Set server's system properties
316317
Property prop = new Property();
@@ -325,6 +326,39 @@ private Server createAndConfigureServer()
325326
return server;
326327
}
327328

329+
private int httpPort()
330+
{
331+
JBossBindingSet jbossBindingSet = getJBossBindingSet();
332+
if (jbossBindingSet == null)
333+
return configuration.getHttpPort();
334+
335+
return jbossBindingSet.getHttpPort();
336+
}
337+
338+
private int rmiPort()
339+
{
340+
JBossBindingSet jbossBindingSet = getJBossBindingSet();
341+
if (jbossBindingSet == null)
342+
return configuration.getRmiPort();
343+
344+
return jbossBindingSet.getRmiPort();
345+
}
346+
347+
private JBossBindingSet getJBossBindingSet()
348+
{
349+
return JBossBindingSet.getBindingSet(configuration.getPortBindingSet());
350+
}
351+
352+
private String javaVmArguments()
353+
{
354+
String javaVmArguments = configuration.getJavaVmArguments();
355+
if (configuration.getPortBindingSet() != null)
356+
{
357+
javaVmArguments += " -Djboss.service.binding.set=" + configuration.getPortBindingSet();
358+
}
359+
return javaVmArguments;
360+
}
361+
328362
private void setServerVMArgs(Server server, String arguments)
329363
{
330364
for(String argument: arguments.split(" "))

0 commit comments

Comments
 (0)