package com.axxx.dps.apv.util; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; public class AxxxConfUtil { private Log log = LogFactory.getLog(this.getClass()); private static AxxxConfUtil instance = null; private double precomptePartenaireWebServiceDelayFixed; private double precomptePartenaireWebServiceDelayRandom; public static AxxxConfUtil getInstance() { return instance; } public AxxxConfUtil() { synchronized(AxxxConfUtil.class) { if (AxxxConfUtil.instance == null) { AxxxConfUtil.instance = this; } } } public void sleep() { this.sleep(this.getPrecomptePartenaireWebServiceDelayFixed()); this.sleepRandom(this.getPrecomptePartenaireWebServiceDelayRandom()); } private void sleep(double s) { if (s == 0.0) { return; } log.warn("Sleeping fixed..."); long startTime = System.currentTimeMillis(); try { Thread.sleep((int) (s * 1000)); } catch(InterruptedException ex) { Thread.currentThread().interrupt(); } long endTime = System.currentTimeMillis(); long duration = endTime - startTime; log.warn("Slept fixed " + duration + " ms"); } private void sleepRandom(double s) { if (s == 0.0) { return; } log.warn("Sleeping random..."); long startTime = System.currentTimeMillis(); try { Thread.sleep((int) (s * Math.random() * 1000)); } catch(InterruptedException ex) { Thread.currentThread().interrupt(); } long endTime = System.currentTimeMillis(); long duration = endTime - startTime; log.warn("Slept fixed " + duration + " ms"); } public double getPrecomptePartenaireWebServiceDelayFixed() { return precomptePartenaireWebServiceDelayFixed; } public void setPrecomptePartenaireWebServiceDelayFixed(double precomptePartenaireWebServiceDelayFixed) { this.precomptePartenaireWebServiceDelayFixed = precomptePartenaireWebServiceDelayFixed; } public double getPrecomptePartenaireWebServiceDelayRandom() { return precomptePartenaireWebServiceDelayRandom; } public void setPrecomptePartenaireWebServiceDelayRandom(double precomptePartenaireWebServiceDelayRandom) { this.precomptePartenaireWebServiceDelayRandom = precomptePartenaireWebServiceDelayRandom; } }