There is only one server socket open on port 4444 by
default. I couldn't find any simple docs on how this
I didn't mean the well-known sockets used by the server (I think there are actually more than that, the naming service starts on 1099, there is a management web interface on another port etc), I was taking about the beans which are deployed. As far as I can tell, for each bean class deployed, a new JRMPContainerInvoker is created and that, when started, exports itself for RMI calls in the usual way (on an server-selected port). If that's the case, then a bean jar containing 388 beans will create and export 388 JRMPContainerInvoker's on 388 ports. That's a lot of ports. I wanted to know if my understanding of this is correct or if there is really just one JRMPContainerInvoker for the whole server.
You are correct, but only JBoss2.4.x.
I didn't spot your class name before.
JBoss3.0 only exports one
part of the invocation that goes across the wire in 3.0
is the jmx name of the container.
oh good, that meant I understood the documentation at least. I didn't really want to upgrade to 3.0 until I get 2.4 running (since it comes with nice Tomcat integration which runs right out of the box).
Of course now I read it properly, your first message was correct and specifying the rmiPort in the config exports all those objects on the same port. I had not understood that you could do that, I was naively thinking that the UnicastRemoteObject bound its own port and listened, a look at the code shows of course that there is an underlying TCPTransport which binds the port and thus many UnicastRemoteObjects can be listening on the same socket.
Thanks for your help. I'm 4 days into the docs and feeling overwhelmed trying to prove we can run what is currently a HUGE Weblogic app on Jboss.