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

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

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

CircuitBreaker/src/dk/thoerup/curcuitbreaker/jmx/JMXWrapper.java revision 408 by torben, Wed Oct 7 05:06:42 2009 UTC miscJava/CircuitBreaker/src/main/java/dk/thoerup/circuitbreaker/jmx/JMXWrapper.java revision 3212 by torben, Thu Dec 28 09:34:47 2017 UTC
# Line 1  Line 1 
1  package dk.thoerup.curcuitbreaker.jmx;  package dk.thoerup.circuitbreaker.jmx;
2    
3  import java.lang.management.ManagementFactory;  import java.lang.management.ManagementFactory;
4  import java.util.Set;  import java.util.Set;
# Line 9  import java.util.logging.Logger; Line 9  import java.util.logging.Logger;
9  import javax.management.MBeanServer;  import javax.management.MBeanServer;
10  import javax.management.ObjectName;  import javax.management.ObjectName;
11    
12  import dk.thoerup.curcuitbreaker.AccountingCircuitBreaker;  import dk.thoerup.circuitbreaker.CircuitBreaker;
13  import dk.thoerup.curcuitbreaker.CircuitBreaker;  import dk.thoerup.circuitbreaker.CircuitBreakerManager;
 import dk.thoerup.curcuitbreaker.CircuitBreakerManager;  
14    
15  public class JMXWrapper {  public class JMXWrapper {
16          static Logger logger = Logger.getLogger(JMXWrapper.class.getName());          static Logger logger = Logger.getLogger(JMXWrapper.class.getName());
# Line 19  public class JMXWrapper { Line 18  public class JMXWrapper {
18          private static Set<ObjectName> objectNames = new TreeSet<ObjectName>();          private static Set<ObjectName> objectNames = new TreeSet<ObjectName>();
19                    
20                    
21          public static void registerCircuitBreaker(CircuitBreaker cb) {          public static ObjectName registerCircuitBreaker(CircuitBreaker<?> cb) {
22                  Object jmxBean;                  Object jmxBean;
23                  String className;                  String className;
24                                    
25                  if (cb instanceof AccountingCircuitBreaker) {  
26                          jmxBean = new JmxAccountingCircuitBreaker((AccountingCircuitBreaker)cb);                  jmxBean = new JmxCircuitBreaker(cb);
27                          className = "AccountingCircuitBreaker";                                  className = "CircuitBreaker";                  
28                  } else {                  
                         jmxBean = new JmxCircuitBreaker(cb);  
                         className = "CircuitBreaker";                    
                 }  
29                                    
30                  String name = cb.getName();                  String name = cb.getName();
31                                    
# Line 42  public class JMXWrapper { Line 38  public class JMXWrapper {
38                                  server.unregisterMBean(beanName);                                  server.unregisterMBean(beanName);
39                          server.registerMBean(jmxBean, beanName);                          server.registerMBean(jmxBean, beanName);
40                          objectNames.add(beanName);                          objectNames.add(beanName);
41                            return beanName;
42                                                    
43                  } catch (Exception e) {                  } catch (Exception e) {
44                          logger.log(Level.SEVERE, "Mbean failure",e );                          logger.log(Level.SEVERE, "Mbean failure",e );
45                            return null;
46                  }                  }
47          }          }
48                    
# Line 52  public class JMXWrapper { Line 50  public class JMXWrapper {
50                  CircuitBreakerManager mgr = CircuitBreakerManager.getManager();                  CircuitBreakerManager mgr = CircuitBreakerManager.getManager();
51                                    
52                  for (String cbName : mgr.getCircuitBreakerNames()) {                  for (String cbName : mgr.getCircuitBreakerNames()) {
53                          CircuitBreaker cb = mgr.getCircuitBreaker(cbName);                          CircuitBreaker<?> cb = mgr.getCircuitBreaker(cbName);
54                          registerCircuitBreaker(cb);                          registerCircuitBreaker(cb);
55                  }                  }
56          }          }

Legend:
Removed from v.408  
changed lines
  Added in v.3212

  ViewVC Help
Powered by ViewVC 1.1.20