[jboss-dev-forums] [Design of Messaging on JBoss (Messaging/JBoss)] - Management code now requires an always-on INVM acceptor

jmesnil do-not-reply at jboss.com
Mon Dec 8 05:23:57 EST 2008


I've refactored the management code to make it work on a cluster of JBM2 nodes.

Now, all management operations use core messages which are replicated on the live & backup nodes to ensure that their states are correctly replicated (e.g. creation on a queue on both nodes, etc.)

To make it simple to manage JBM, we still expose the management operations through JMX MBeans. These mbeans implementations are simple facade which creates a corresponding Core message, sent it to a well-known "management address" and wait for the reply (see top class ).
We use a INVM connector to connect to the server (since the core message is sent from *inside* the server).

To make the code more generic, JMX operation invocations *always* goes through a replicated core message wether the node is replicated or not.
This implies that the server *must* always have a INVM acceptor ready to accept the core message from the management code.
I hesitated to have a switch for every management operation implementation (if the node is not replicated, invokes directly, else use a replicated core message) but I stick to a single implementation (INVM connection code path is straightforward enough) to make the code more uniform.

For now, I have not changed the server configuration. This means that the user must explicitely add a INVM acceptor if he wants to be able to manage the server using JMX.
To make it more user-friendly, I'll add the creation of the INVM acceptor when the user configuration set jmx-enable to true.




View the original post : http://www.jboss.com/index.html?module=bb&op=viewtopic&p=4195005#4195005

Reply to the post : http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&p=4195005



More information about the jboss-dev-forums mailing list