I don't think we have been through the server looking for that explicitely, I am not surprised you get barfing everywhere. I guess we could ship an MBean that lists all the ports in the system and you could change them there but again I would have to look behind the scenes, too much other stuff going on right now (at least for me) put a 'feature request' if you want someone to pick it up, someone probably will be interested in this, at least the ISP community will.
I put a request in, like you told me.
I also bought the documentation now (great btw!), and found out the possible parameters for the different MBeans. 'BindAdress' seems to be provided to do exactly what i need, for most TCP-listening services (except HyperSonic, which i don't need).
If these work (and the services really only bind to the specified address, not even localhost), i actually don't need the destination NAT trick, and all ports could be the default ports.
I'm going to try this out in the next few days and will get back here.
It seems that services which provide 'BindAddress' work properly in a 'multiple JBoss config'. Take for instance the JNDI service, specifying in one jboss.jcml BindAddress 10.0.0.x and in another 10.0.0.y will let you run both JBoss instances each listening on port 1099 of that host (you would use ip aliasing to make the host using both ip addresses on the same network).
Services this is not working with (at least not through jboss.jcml configuration changes):
- HtmlAdaptorServer on port 8082 (just change this port)
- EmbeddedCatalinaSx (need to change source code i'm afraid)
- RMI port for exporting bean code (make it dynamic or change the ports per jboss instance [does this have to happen in the bean jboss DD, or can this been done jboss-instance-wide?])
- Hypersonic DB (change the port, if you need it at all)
Both the EmbeddedCatalinaSx and RMI port are crucial to me. For the first one i'll try to change the src code so it reads a BindAddress attribute in jboss.jcml
For the second i'll have to find out what exactly is the implication (on the client-side) to export objects on dynamic RMI ports. I also wonder if this can be achieved in a jboss-instance wide configuration, or will each bean deployed to that instance need to explicitly tell to use port 0 (RmiPort).