--- dao/DaoAdresseService/src/dk/daoas/daoadresseservice/ContextListener.java 2015/02/23 15:20:10 2351 +++ dao/DaoAdresseService/src/dk/daoas/daoadresseservice/ContextListener.java 2015/02/23 15:49:00 2352 @@ -7,6 +7,9 @@ import javax.servlet.annotation.WebListener; import dk.daoas.daoadresseservice.admin.ServiceConfig; +import dk.thoerup.circuitbreaker.AccountingCircuitBreaker; +import dk.thoerup.circuitbreaker.CircuitBreakerManager; +import dk.thoerup.circuitbreaker.web.CircuitBreakerServletBase; import dk.thoerup.webconfig.ConfigServlet; import dk.thoerup.webconfig.ContextConfigLoader; @@ -36,7 +39,9 @@ ServiceConfig conf = initConfig(ctxt); - initDataLoader(ctxt,conf); + initDataLoader(ctxt, conf); + + initCircuitBreakers(ctxt, conf); System.out.println("DAO Context done"); @@ -66,5 +71,23 @@ } + private void initCircuitBreakers(ServletContext ctxt, ServiceConfig conf) { + CircuitBreakerManager mgr = CircuitBreakerManager.getManager(); + + AccountingCircuitBreaker osm = new AccountingCircuitBreaker("osm", conf); + mgr.addCircuitBreaker( osm ); + + AccountingCircuitBreaker google = new AccountingCircuitBreaker("google", conf); + mgr.addCircuitBreaker( google ); + + + // + CircuitBreakerServletBase servlet = new CircuitBreakerServletBase(); + ServletRegistration.Dynamic dynconf = ctxt.addServlet("circuitbreaker", servlet); + dynconf.addMapping("/CircuitBreakerServlet"); + dynconf.setInitParameter("readonly", "1"); + + } + }