While debugging other issues (the disparity between cluster views and service views), I attempted to add JMX support. However, having looked at the code, it turns out that ObjectNames are formed incorrectly.
Caused by: javax.management.MalformedObjectNameException: Invalid character ':' in value part of property
at javax.management.ObjectName.construct(ObjectName.java:602)
at javax.management.ObjectName.<init>(ObjectName.java:1394)
at org.jgroups.jmx.JmxConfigurator.registerChannel(JmxConfigurator.java:55)
at org.jgroups.jmx.JmxConfigurator.registerChannel(JmxConfigurator.java:41)
at org.jgroups.JChannelFactory.registerChannel(JChannelFactory.java:383)
at org.jgroups.JChannelFactory.createMultiplexerChannel(JChannelFactory.java:297)
at org.jgroups.JChannelFactory.createMultiplexerChannel(JChannelFactory.java:280)
It's attempting an ObjectName of the form "jgroups:name=Multiplexer:type=channel,cluster=blah" which is illegal.
I enabled JMX by calling;
channelFactory.setExposeChannels(true);
channelFactory.create();
Am I doing this wrong or does the JMX registration simply not work?
I can work around this with;
channelFactory.setDomain("jgroups")
but this doesn't group the JMX beans in the way the code intends.