/[projects]/miscJava/CircuitBreaker/src/main/java/dk/thoerup/circuitbreaker/jmx/JMXWrapper.java
ViewVC logotype

Annotation of /miscJava/CircuitBreaker/src/main/java/dk/thoerup/circuitbreaker/jmx/JMXWrapper.java

Parent Directory Parent Directory | Revision Log Revision Log


Revision 405 - (hide annotations) (download)
Wed Oct 7 04:21:55 2009 UTC (14 years, 7 months ago) by torben
Original Path: CircuitBreaker/src/dk/thoerup/curcuitbreaker/jmx/JMXWrapper.java
File size: 1162 byte(s)
Better grouping of the mbeans
1 torben 402 package dk.thoerup.curcuitbreaker.jmx;
2    
3     import java.lang.management.ManagementFactory;
4     import java.util.logging.Level;
5     import java.util.logging.Logger;
6    
7     import javax.management.MBeanServer;
8     import javax.management.ObjectName;
9    
10     import dk.thoerup.curcuitbreaker.*;
11    
12     public class JMXWrapper {
13     static Logger logger = Logger.getLogger(JMXWrapper.class.getName());
14    
15     public static void registerCircuitBreaker(CircuitBreaker cb) {
16     Object jmxBean;
17     String className;
18    
19     if (cb instanceof AccountingCircuitBreaker) {
20     jmxBean = new JmxAccountingCircuitBreaker((AccountingCircuitBreaker)cb);
21     className = "AccountingCircuitBreaker";
22     } else {
23     jmxBean = new JmxCircuitBreaker(cb);
24     className = "CircuitBreaker";
25     }
26    
27     String name = cb.getName();
28     try {
29    
30 torben 405 ObjectName beanName = new ObjectName("dk.thoerup.circuitbreaker:type=" + className + ",name=" + name);
31 torben 402
32     MBeanServer server = ManagementFactory.getPlatformMBeanServer();
33     if (server.isRegistered(beanName))
34     server.unregisterMBean(beanName);
35     server.registerMBean(jmxBean, beanName);
36    
37     } catch (Exception e) {
38     logger.log(Level.SEVERE, "Mbean failure",e );
39     }
40    
41     }
42     }

  ViewVC Help
Powered by ViewVC 1.1.20