Senior Java Developer with team building and managing skills. Enthusiast of clean coding and good design, JVM languages (Groovy, Scala). Author of Mockito Instant book. Mockito Instant Book: http://www.packtpub.com/how-to-create-stubs-mocks-spies-using-mockito/book Blog: http://toomuchcoding.blogspot.com Homepage: http://marcin.grzejszczak.pl Marcin is a DZone MVB and is not an employee of DZone and has posted 19 posts at DZone. You can read more from them at their website. View Full User Profile

Calculating Coherence Cluster Size on a Remote Server Using JMX

11.09.2012
| 3082 views |
  • submit to reddit

 In one of the projects I had a problem regarding calculating the size of a Oracle Coherence cluster. It doesn't seem to difficult since there is already a nice piece of code that can do it for us:

Calculating Coherence cluster size

The problem is that this code is working properly only if the Coherence cluster is not remote. So how can we access it?

We have to modify the following function

public static MBeanServer getMBeanServer() {
        MBeanServer server = null;
        for (Object o : MBeanServerFactory.findMBeanServer(null)) {
            server = (MBeanServer) o;
            if (DOMAIN_DEFAULT.length() == 0 ||
                server.getDefaultDomain().equals(DOMAIN_DEFAULT)) {
                break;
            }
            server = null;
        }
        if (server == null) {
            server = MBeanServerFactory.createMBeanServer(DOMAIN_DEFAULT);
        }
 
        return server;
    }

To this one

public static MBeanServerConnection getMBeanServer() throws IOException {
 JMXServiceURL url = new JMXServiceURL("service://...");
 JMXConnector jmxc = JMXConnectorFactory.connect(url, null);
 return jmxc.getMBeanServerConnection();
}

And modify the line

MBeanServer server = getMBeanServer();

To use the new interface

MBeanServerConnection server = getMBeanServer();

More information on how to define the Coherence JMX service URL and JMX for Coherence as such can be found here

Managing Coherence using JMX



Published at DZone with permission of Marcin Grzejszczak, author and DZone MVB. (source)

(Note: Opinions expressed in this article and its replies are the opinions of their respective authors and not those of DZone, Inc.)