package org.infinispan.jmx;
import java.util.Properties;
import javax.management.MBeanServer;
import javax.management.MBeanServerFactory;
/**
* Creates an MBeanServer on each thread.
*
* @author Mircea.Markus@jboss.com
* @since 4.0
*/
public class PerThreadMBeanServerLookup implements MBeanServerLookup {
static ThreadLocal<MBeanServer> threadMBeanServer = new ThreadLocal<MBeanServer>();
public MBeanServer getMBeanServer(Properties properties) {
return getThreadMBeanServer();
}
public static MBeanServer getThreadMBeanServer() {
MBeanServer beanServer = threadMBeanServer.get();
if (beanServer == null) {
beanServer = MBeanServerFactory.createMBeanServer();
threadMBeanServer.set(beanServer);
}
return beanServer;
}
}