Skip to content

Commit 3cc023a

Browse files
committed
ARQ-476 Add portBindingSet property to JBoss 5.1 configuration
1 parent 09fac82 commit 3cc023a

File tree

2 files changed

+90
-3
lines changed

2 files changed

+90
-3
lines changed

jbossas-managed-5.1/src/main/java/org/jboss/arquillian/container/jbossas/managed_5_1/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_5_1;
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
*/
@@ -76,6 +119,16 @@ public int getHttpPort()
76119
return httpPort;
77120
}
78121

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

jbossas-managed-5.1/src/main/java/org/jboss/arquillian/container/jbossas/managed_5_1/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_5_1.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;
@@ -299,8 +300,8 @@ private Server createAndConfigureServer()
299300
{
300301
Server server = new Server();
301302
server.setName(configuration.getProfileName());
302-
server.setHttpPort(configuration.getHttpPort());
303-
server.setRmiPort(configuration.getRmiPort());
303+
server.setHttpPort(httpPort());
304+
server.setRmiPort(rmiPort());
304305
server.setHost(configuration.getBindAddress());
305306
server.setHasWebServer(!configuration.isUseRmiPortForAliveCheck());
306307

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

311312
// Set server's JVM arguments
312-
setServerVMArgs(server, configuration.getJavaVmArguments());
313+
setServerVMArgs(server, javaVmArguments());
313314

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

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

0 commit comments

Comments
 (0)