Here's my problem:
I have a multi-homed host, which for the problem description, has two IP interfaces, which I'll call (A) and (B) for brevity. On this host runs my JBoss 4.0.2 AS with the JMS service. If I understand everything that I've uncovered so far, UILServerILService creates a socket on which it listens for client connections. This socket is bound to an IP address, which I assume gets bound to either (A) or (B). Let's say that this server socket gets bound to (A). I then change (A) to (A'). The server socket is no longer valid and there is now no way for my program to both send or receive messages. I took a look at the source for UILServerILService and noticed that there are two APIs, startService() and stopService(), which I figure I could call to restart the UILServerILService in the event of an IP change affecting the JMS service socket. Question now is:
- Can I re-start the JMS service using startService() and stopService()? Is this a valid approach since I want to avoid a re-start of JBoss? If so, how can I get a handle to the UILServerILService to allow me to invoke these two APIs?
Usually, you call operations stop and start, and calling them remotely can be done with "twiddle" or remote JMX. Search the wiki on this.