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

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

Parent Directory Parent Directory | Revision Log Revision Log


Revision 1042 - (show 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 package dk.thoerup.traininfoservice;
2
3 import java.util.logging.Logger;
4
5 import javax.servlet.ServletContextEvent;
6 import javax.servlet.ServletContextListener;
7 import javax.servlet.annotation.WebListener;
8
9 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
14 /**
15 * Application Lifecycle Listener implementation class JmxListener
16 *
17 */
18 @WebListener
19 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 int threshold = Integer.parseInt(sce.getServletContext().getInitParameter("banedk_threshold") );
33 int timeout = Integer.parseInt( sce.getServletContext().getInitParameter("banedk_timeout") );
34 CircuitBreakerManager mgr = CircuitBreakerManager.getManager();
35
36 AccountingCircuitBreaker banedk = new AccountingCircuitBreaker("banedk", threshold, timeout);
37 banedk.setNotifier( new JavaLogNotifier() );
38 mgr.addCircuitBreaker( banedk );
39
40 AccountingCircuitBreaker metro = new AccountingCircuitBreaker("metro", threshold, timeout);
41 metro.setNotifier( new JavaLogNotifier() );
42 mgr.addCircuitBreaker( metro );
43
44 JMXWrapper.registerAllCircuitBreakers();
45 }
46
47 /**
48 * @see ServletContextListener#contextDestroyed(ServletContextEvent)
49 */
50 public void contextDestroyed(ServletContextEvent sce) {
51 logger.warning("Context Destroyed");
52 CircuitBreakerManager.getManager().removeCircuitBreaker("banedk");
53
54 JMXWrapper.unregisterAllCircuitBreakers();
55 }
56
57 }

  ViewVC Help
Powered by ViewVC 1.1.20