/[projects]/CircuitBreaker/src/dk/thoerup/curcuitbreaker/jmx/JMXWrapper.java
ViewVC logotype

Contents of /CircuitBreaker/src/dk/thoerup/curcuitbreaker/jmx/JMXWrapper.java

Parent Directory Parent Directory | Revision Log Revision Log


Revision 402 - (show annotations) (download)
Tue Oct 6 21:23:49 2009 UTC (14 years, 7 months ago) by torben
File size: 1157 byte(s)
Added basic JMX interface
1 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 ObjectName beanName = new ObjectName("dk.thoerup.circuitbreaker." + className + ":name=" + name);
31
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