--- dao/DaoAdresseService/src/main/java/dk/daoas/daoadresseservice/ContextListener.java 2015/03/20 13:57:47 2457 +++ dao/DaoAdresseService/src/main/java/dk/daoas/daoadresseservice/ContextListener.java 2016/07/21 11:47:57 3067 @@ -1,7 +1,10 @@ package dk.daoas.daoadresseservice; -import java.io.FileReader; +import java.io.FileInputStream; import java.io.IOException; +import java.io.InputStreamReader; +import java.io.Reader; +import java.nio.charset.Charset; import java.util.Properties; import javax.servlet.ServletContext; @@ -12,9 +15,13 @@ import org.apache.commons.lang3.SystemUtils; +import com.jcabi.manifests.Manifests; +import com.jcabi.manifests.ServletMfs; + import dk.daoas.daoadresseservice.admin.ServiceConfig; -import dk.thoerup.circuitbreaker.AccountingCircuitBreaker; +import dk.thoerup.circuitbreaker.CircuitBreaker; import dk.thoerup.circuitbreaker.CircuitBreakerManager; +import dk.thoerup.circuitbreaker.statistics.AccountingStatistics; import dk.thoerup.circuitbreaker.web.CircuitBreakerServletBase; import dk.thoerup.webconfig.ConfigServlet; import dk.thoerup.webconfig.PropertiesConfigLoader; @@ -30,17 +37,18 @@ public ContextListener() { - // TODO Auto-generated constructor stub } public void contextDestroyed(ServletContextEvent ctxtEvt) { - // TODO Auto-generated method stub } + @Override public void contextInitialized(ServletContextEvent ctxtEvt) { System.out.println("Starting DAO Context"); + + ServletContext ctxt = ctxtEvt.getServletContext(); ServiceConfig conf = null; @@ -54,7 +62,13 @@ initDataLoader(ctxt, conf); initCircuitBreakers(ctxt, conf); + + try { + Manifests.DEFAULT.append(new ServletMfs(ctxt)); + } catch (Exception e) { + System.out.println("Error loading config " + e.getMessage()); + } System.out.println("DAO Context done"); } @@ -77,7 +91,7 @@ } Properties propsFile = new Properties(); - try (FileReader reader = new FileReader(file) ) { + try ( Reader reader = new InputStreamReader(new FileInputStream(file), Charset.forName("UTF-8")) ) { propsFile.load(reader); } @@ -99,16 +113,18 @@ private void initDataLoader(ServletContext ctxt, ServiceConfig conf) { DataLoader load = new DataLoader(ctxt,conf); ctxt.setAttribute("dataloader", load); - load.doLoad(); + load.doLoad( "(re) deploy" ); } private void initCircuitBreakers(ServletContext ctxt, ServiceConfig conf) { CircuitBreakerManager mgr = CircuitBreakerManager.getManager(); - AccountingCircuitBreaker osm = new AccountingCircuitBreaker("osm", conf); + CircuitBreaker osm = new CircuitBreaker("osm", conf); + osm.setStatistics( new AccountingStatistics() ); mgr.addCircuitBreaker( osm ); - AccountingCircuitBreaker google = new AccountingCircuitBreaker("google", conf); + CircuitBreaker google = new CircuitBreaker("google", conf); + google.setStatistics( new AccountingStatistics() ); mgr.addCircuitBreaker( google );