In JBC 2.0, the cache no longer self registers; you have to do it manually. Basically, we
recognized that JMX integration is really not a core function of the cache, and 1) should
be done by external code that understands the JMX environment, and 2) should be extracted
into a separate class.
What you should do is:
| Cache cache = createCache();
| MBeanServer mbs = getMBeanServer();
| mbs.registerMBean(new org.jboss.cache.jmx.CacheJmxWrapper(cache), monitorName);
|
CacheJmxWrapper exposes a property "registerInterceptors", which defaults to
true. When you register the wrapper in JMX, it gets a callback from JMX (via
MBeanNotification interface) and if registerInterceptors=true it will register mbeans for
all the interceptors.
I haven't looked at this for a while, and it may not work yet, but you can also try
this semi-hacky trick:
| Cache cache = createCache();
| MBeanServer mbs = getMBeanServer();
| mbs.registerMBean(new org.jboss.cache.jmx.CacheLegacyJmxWrapper(cache), monitorName);
|
(note use of CacheLegacyJmxWrapper).
CacheLegacyJmxWrapper actually exposes via JMX getters for a lot of the configuration
options.
I'll defer to Manik as to whether he wants to expose getMembers().
View the original post :
http://www.jboss.com/index.html?module=bb&op=viewtopic&p=4039364#...
Reply to the post :
http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&a...