/[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 1042 - (hide annotations) (download)
Mon Sep 13 17:57:31 2010 UTC (13 years, 8 months ago) by torben
File size: 1929 byte(s)
Add backend for fetching metro data
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     import dk.thoerup.circuitbreaker.CircuitBreakerManager;
11     import dk.thoerup.circuitbreaker.jmx.JMXWrapper;
12     import dk.thoerup.circuitbreaker.notification.JavaLogNotifier;
13 torben 421
14     /**
15     * Application Lifecycle Listener implementation class JmxListener
16     *
17     */
18 torben 959 @WebListener
19 torben 421 public class CircuitBreakerListener implements ServletContextListener {
20    
21     Logger logger = Logger.getLogger(CircuitBreakerListener.class.getName());
22    
23     public CircuitBreakerListener() {
24     }
25    
26     /**
27     * @see ServletContextListener#contextInitialized(ServletContextEvent)
28     */
29     public void contextInitialized(ServletContextEvent sce) {
30     logger.warning("Context Init");
31    
32 torben 584 int threshold = Integer.parseInt(sce.getServletContext().getInitParameter("banedk_threshold") );
33     int timeout = Integer.parseInt( sce.getServletContext().getInitParameter("banedk_timeout") );
34 torben 421 CircuitBreakerManager mgr = CircuitBreakerManager.getManager();
35    
36 torben 584 AccountingCircuitBreaker banedk = new AccountingCircuitBreaker("banedk", threshold, timeout);
37 torben 421 banedk.setNotifier( new JavaLogNotifier() );
38 torben 1042 mgr.addCircuitBreaker( banedk );
39 torben 421
40 torben 1042 AccountingCircuitBreaker metro = new AccountingCircuitBreaker("metro", threshold, timeout);
41     metro.setNotifier( new JavaLogNotifier() );
42     mgr.addCircuitBreaker( metro );
43    
44 torben 421 JMXWrapper.registerAllCircuitBreakers();
45     }
46    
47     /**
48     * @see ServletContextListener#contextDestroyed(ServletContextEvent)
49     */
50     public void contextDestroyed(ServletContextEvent sce) {
51     logger.warning("Context Destroyed");
52 torben 866 CircuitBreakerManager.getManager().removeCircuitBreaker("banedk");
53    
54 torben 421 JMXWrapper.unregisterAllCircuitBreakers();
55     }
56    
57     }

  ViewVC Help
Powered by ViewVC 1.1.20