So, upon further investigation, I have found that this is indeed not possible without code
changes. The offending code that makes it impossible:
From system/src/main/org/jboss/Main.java:454
| if (rmiHost == null)
| {
| rmiHost = ServerConfigUtil.fixRemoteAddress(arg);
| Enumeration ifaces = NetworkInterface.getNetworkInterfaces();
| System.setProperty("java.rmi.server.hostname", rmiHost);
| }
|
From system/src/main/org/jboss/system/server/ServerConfigUtil.java
| public static String fixRemoteAddress(String address)
| {
| try
| {
| if (address == null || ANY.equals(address))
| return InetAddress.getLocalHost().getHostName();
| }
| catch (UnknownHostException ignored)
| {
| }
| return address;
| }
|
Which makes it impossible to bind to all addresses *and* have an IP resolve for RMI.
I have a local fix, which checks to see if the name supplied can be resolved to anything
other than localhost and, if not, grabs the first (non-loopback) IP address it can find
through enumerating the network interfaces. This would not work on a multi-homed machine,
but a -b with the actual IP address would probably be fine there.
View the original post :
http://www.jboss.com/index.html?module=bb&op=viewtopic&p=4091212#...
Reply to the post :
http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&a...