/[projects]/android/TrainInfoService/src/dk/thoerup/traininfoservice/CircuitBreakerListener.java
ViewVC logotype

Annotation of /android/TrainInfoService/src/dk/thoerup/traininfoservice/CircuitBreakerListener.java

Parent Directory Parent Directory | Revision Log Revision Log


Revision 1304 - (hide annotations) (download)
Tue Apr 19 12:44:01 2011 UTC (13 years, 1 month ago) by torben
File size: 2136 byte(s)
don't register circuitbreakers as jmx beans
1 torben 421 package dk.thoerup.traininfoservice;
2    
3     import java.util.logging.Logger;
4    
5     import javax.servlet.ServletContextEvent;
6     import javax.servlet.ServletContextListener;
7 torben 959 import javax.servlet.annotation.WebListener;
8 torben 421
9 torben 468 import dk.thoerup.circuitbreaker.AccountingCircuitBreaker;
10 torben 1286 import dk.thoerup.circuitbreaker.LoggingCircuitBreaker;
11 torben 468 import dk.thoerup.circuitbreaker.CircuitBreakerManager;
12     import dk.thoerup.circuitbreaker.jmx.JMXWrapper;
13 torben 1156 import dk.thoerup.circuitbreaker.notification.*;
14 torben 421
15 torben 1156
16 torben 421 /**
17     * Application Lifecycle Listener implementation class JmxListener
18     *
19     */
20 torben 959 @WebListener
21 torben 421 public class CircuitBreakerListener implements ServletContextListener {
22    
23     Logger logger = Logger.getLogger(CircuitBreakerListener.class.getName());
24    
25     public CircuitBreakerListener() {
26     }
27    
28     /**
29     * @see ServletContextListener#contextInitialized(ServletContextEvent)
30     */
31     public void contextInitialized(ServletContextEvent sce) {
32     logger.warning("Context Init");
33    
34 torben 584 int threshold = Integer.parseInt(sce.getServletContext().getInitParameter("banedk_threshold") );
35     int timeout = Integer.parseInt( sce.getServletContext().getInitParameter("banedk_timeout") );
36 torben 421 CircuitBreakerManager mgr = CircuitBreakerManager.getManager();
37    
38 torben 1162 CompositeNotifier notif = new CompositeNotifier();
39     notif.addNotifier( new JavaLogNotifier() );
40     notif.addNotifier( new MailNotifier("traininfo@t-hoerup.dk", "torben@t-hoerup.dk", "192.168.10.5") );
41    
42 torben 1156
43 torben 1286 LoggingCircuitBreaker banedk = new LoggingCircuitBreaker("banedk", threshold, timeout);
44 torben 1156 banedk.setNotifier(notif);
45 torben 1042 mgr.addCircuitBreaker( banedk );
46 torben 421
47 torben 1162
48 torben 1042 AccountingCircuitBreaker metro = new AccountingCircuitBreaker("metro", threshold, timeout);
49 torben 1162 metro.setNotifier(notif);
50 torben 1042 mgr.addCircuitBreaker( metro );
51    
52 torben 1304 //JMXWrapper.registerAllCircuitBreakers();
53 torben 421 }
54    
55     /**
56     * @see ServletContextListener#contextDestroyed(ServletContextEvent)
57     */
58     public void contextDestroyed(ServletContextEvent sce) {
59     logger.warning("Context Destroyed");
60 torben 1156 CircuitBreakerManager.getManager().shutdown();
61 torben 866
62 torben 1304 //JMXWrapper.unregisterAllCircuitBreakers();
63 torben 421 }
64    
65     }

  ViewVC Help
Powered by ViewVC 1.1.20