--- android/TrainInfoService/src/dk/thoerup/traininfoservice/TraininfoSettings.java 2011/04/19 11:52:39 1303 +++ android/TrainInfoService/src/dk/thoerup/traininfoservice/TraininfoSettings.java 2011/04/20 16:14:33 1344 @@ -1,43 +1,73 @@ package dk.thoerup.traininfoservice; +import java.util.logging.Logger; -public class TraininfoSettings { +import javax.servlet.ServletContext; + +import dk.thoerup.circuitbreaker.config.BreakerConfig; +import dk.thoerup.webconfig.ConfigVariable; +import dk.thoerup.webconfig.ContextConfigLoader; +import dk.thoerup.webconfig.ReloadConfigMethod; + + +public class TraininfoSettings implements BreakerConfig{ + Logger logger = Logger.getLogger(TraininfoSettings.class.getName() ); + + ServletContext cxt; + public TraininfoSettings(ServletContext cxt) { + this.cxt = cxt; + } + @ConfigVariable boolean useazuresite; + @ConfigVariable(description = "Circuitbreaker", readonly = true) int banedk_threshold; + @ConfigVariable(readonly = true) int banedk_timeout; + @ConfigVariable(readonly = true) int cache_timeout; + @ConfigVariable(readonly = true) int stats_interval; + @ConfigVariable int reply_timeout; - + + @ReloadConfigMethod + public void reloadConfig() { + logger.info("Reloading config"); + new ContextConfigLoader(cxt).loadConfig(this); + } public boolean getUseAzureSite() { return useazuresite; } -/* public int getBanedkThreshold() { - return banedk_threshold; - } - - public int getBanedkTimeout() { - return banedk_timeout; - }*/ public int getCacheTimeout() { return cache_timeout; } -/* + public int getStatsInterval() { return stats_interval; - }*/ + } public int getReplyTimeout() { return reply_timeout; } + + + @Override + public int getTreshold() { + return banedk_threshold; + } + + @Override + public int getTimeout() { + return banedk_timeout; + } }