--- android/TrainInfoService/src/dk/thoerup/traininfoservice/CircuitBreakerListener.java 2009/10/22 06:04:45 468 +++ android/TrainInfoService/src/dk/thoerup/traininfoservice/CircuitBreakerListener.java 2010/07/05 09:49:53 959 @@ -4,6 +4,7 @@ import javax.servlet.ServletContextEvent; import javax.servlet.ServletContextListener; +import javax.servlet.annotation.WebListener; import dk.thoerup.circuitbreaker.AccountingCircuitBreaker; import dk.thoerup.circuitbreaker.CircuitBreakerManager; @@ -14,6 +15,7 @@ * Application Lifecycle Listener implementation class JmxListener * */ +@WebListener public class CircuitBreakerListener implements ServletContextListener { Logger logger = Logger.getLogger(CircuitBreakerListener.class.getName()); @@ -27,9 +29,11 @@ public void contextInitialized(ServletContextEvent sce) { logger.warning("Context Init"); + int threshold = Integer.parseInt(sce.getServletContext().getInitParameter("banedk_threshold") ); + int timeout = Integer.parseInt( sce.getServletContext().getInitParameter("banedk_timeout") ); CircuitBreakerManager mgr = CircuitBreakerManager.getManager(); - AccountingCircuitBreaker banedk = new AccountingCircuitBreaker("banedk", 5, 30000); + AccountingCircuitBreaker banedk = new AccountingCircuitBreaker("banedk", threshold, timeout); banedk.setNotifier( new JavaLogNotifier() ); mgr.addCircuitBreaker( banedk ); @@ -41,6 +45,8 @@ */ public void contextDestroyed(ServletContextEvent sce) { logger.warning("Context Destroyed"); + CircuitBreakerManager.getManager().removeCircuitBreaker("banedk"); + JMXWrapper.unregisterAllCircuitBreakers(); }