James, Regarding the bug for setting the port in the configurator, I have identified several causes for the problem in Configurator.java The first problem occurs in constructPlatformConfig here is the bogus code for (Iterator ai = tt.getAddresses().iterator(); ai.hasNext(); ) { TcpTransportAddress ta = (TcpTransportAddress)ai.next(); u = ta != null ? ta.getAddress() : null; From Here --->[ if (u != null && u.getHost() != null && u.getHost().equals(Util.getLocalHost())) { u = null; } ]<---To Here In the best case, this is just setting the Address u to null, which is actually causing (as part of the problem) the following to ALWAYS return the Default.TCP_PORT, namely 9701 --> tcp.setPort(u != null ? getNextAvailablePort(ta, Default.TCP_PORT) : Default.TCP_PORT); In order to get things to work, a first step is to get rid of the snippet (from here ...to here) There are other problems in getNextAvailablePort,the call to ia = InetAddress.getByAddress(h,h.getBytes()); will return null if the IP cannot be found, in which case the method returns the Default Port, again 9701. But that's not all, in case ia is not null, then the code says: if (ia != null && p != Default.INVALID_PORT && pr >= Default.PORT_RANGE) { //p IS THE DESIRED PORT for (int i = p; i <= p + pr; i++) { if (isPortAvailable(ia, i) && this.allocatedPorts != null && this.allocatedPorts.contains(new Integer(i))) { port = i; //Here comes the problem //how could 'allocatedPorts' //ever be null if the //condition above excluded it //from entering this section //so 'allocatedPorts' never gets assigned a new ArrayList //and inevitably the method returns the default port code never reached--> if (this.allocatedPorts == null) { this.allocatedPorts = new ArrayList(); } this.allocatedPorts.add(new Integer(i)); break; } In order to get it to work, I have replaced this with if (h != null && p != Default.INVALID_PORT && pr >= Default.PORT_RANGE) { for (int i = p; i <= p + pr; i++) { if (isPortAvailable(ia, i)){