/[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 1286 - (show annotations) (download)
Mon Apr 11 07:53:45 2011 UTC (13 years, 1 month ago) by torben
File size: 2132 byte(s)
use loggingcircuitbreaker for banedk
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.LoggingCircuitBreaker;
11 import dk.thoerup.circuitbreaker.CircuitBreakerManager;
12 import dk.thoerup.circuitbreaker.jmx.JMXWrapper;
13 import dk.thoerup.circuitbreaker.notification.*;
14
15
16 /**
17 * Application Lifecycle Listener implementation class JmxListener
18 *
19 */
20 @WebListener
21 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 int threshold = Integer.parseInt(sce.getServletContext().getInitParameter("banedk_threshold") );
35 int timeout = Integer.parseInt( sce.getServletContext().getInitParameter("banedk_timeout") );
36 CircuitBreakerManager mgr = CircuitBreakerManager.getManager();
37
38 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
43 LoggingCircuitBreaker banedk = new LoggingCircuitBreaker("banedk", threshold, timeout);
44 banedk.setNotifier(notif);
45 mgr.addCircuitBreaker( banedk );
46
47
48 AccountingCircuitBreaker metro = new AccountingCircuitBreaker("metro", threshold, timeout);
49 metro.setNotifier(notif);
50 mgr.addCircuitBreaker( metro );
51
52 JMXWrapper.registerAllCircuitBreakers();
53 }
54
55 /**
56 * @see ServletContextListener#contextDestroyed(ServletContextEvent)
57 */
58 public void contextDestroyed(ServletContextEvent sce) {
59 logger.warning("Context Destroyed");
60 CircuitBreakerManager.getManager().shutdown();
61
62 JMXWrapper.unregisterAllCircuitBreakers();
63 }
64
65 }

  ViewVC Help
Powered by ViewVC 1.1.20