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

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

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

revision 584 by torben, Fri Feb 5 13:57:39 2010 UTC revision 1286 by torben, Mon Apr 11 07:53:45 2011 UTC
# Line 4  import java.util.logging.Logger; Line 4  import java.util.logging.Logger;
4    
5  import javax.servlet.ServletContextEvent;  import javax.servlet.ServletContextEvent;
6  import javax.servlet.ServletContextListener;  import javax.servlet.ServletContextListener;
7    import javax.servlet.annotation.WebListener;
8    
9  import dk.thoerup.circuitbreaker.AccountingCircuitBreaker;  import dk.thoerup.circuitbreaker.AccountingCircuitBreaker;
10    import dk.thoerup.circuitbreaker.LoggingCircuitBreaker;
11  import dk.thoerup.circuitbreaker.CircuitBreakerManager;  import dk.thoerup.circuitbreaker.CircuitBreakerManager;
12  import dk.thoerup.circuitbreaker.jmx.JMXWrapper;  import dk.thoerup.circuitbreaker.jmx.JMXWrapper;
13  import dk.thoerup.circuitbreaker.notification.JavaLogNotifier;  import dk.thoerup.circuitbreaker.notification.*;
14    
15    
16  /**  /**
17   * Application Lifecycle Listener implementation class JmxListener   * Application Lifecycle Listener implementation class JmxListener
18   *   *
19   */   */
20    @WebListener
21  public class CircuitBreakerListener implements ServletContextListener {  public class CircuitBreakerListener implements ServletContextListener {
22    
23          Logger logger = Logger.getLogger(CircuitBreakerListener.class.getName());          Logger logger = Logger.getLogger(CircuitBreakerListener.class.getName());
# Line 31  public class CircuitBreakerListener impl Line 35  public class CircuitBreakerListener impl
35          int timeout = Integer.parseInt( sce.getServletContext().getInitParameter("banedk_timeout") );          int timeout = Integer.parseInt( sce.getServletContext().getInitParameter("banedk_timeout") );
36          CircuitBreakerManager mgr = CircuitBreakerManager.getManager();          CircuitBreakerManager mgr = CircuitBreakerManager.getManager();
37                    
38                  AccountingCircuitBreaker banedk = new AccountingCircuitBreaker("banedk", threshold, timeout);                  CompositeNotifier notif = new CompositeNotifier();
39                  banedk.setNotifier( new JavaLogNotifier() );                  notif.addNotifier( new JavaLogNotifier() );
40                  mgr.addCircuitBreaker( banedk );                                  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();                  JMXWrapper.registerAllCircuitBreakers();
53      }      }
# Line 43  public class CircuitBreakerListener impl Line 57  public class CircuitBreakerListener impl
57       */       */
58      public void contextDestroyed(ServletContextEvent sce) {      public void contextDestroyed(ServletContextEvent sce) {
59          logger.warning("Context Destroyed");          logger.warning("Context Destroyed");
60            CircuitBreakerManager.getManager().shutdown();
61    
62          JMXWrapper.unregisterAllCircuitBreakers();          JMXWrapper.unregisterAllCircuitBreakers();
63      }      }
64                    

Legend:
Removed from v.584  
changed lines
  Added in v.1286

  ViewVC Help
Powered by ViewVC 1.1.20