/** * Add a recurrent timer. * * @param handler * the event handler * @param timerName * the name of the timer * @param calendarUnit * the unit of the delta that is a constant on {@link Calendar} * @param deltaTime * the delta between events */ public void addTimer(TimerEventHandler handler, String timerName, int calendarUnit, int deltaTime) { timers.add(new TimerEventContext(handler, timerName, calendarUnit, deltaTime)); }
/** * Add a timer. * * @param handler * the event handler * @param timerName * the name of the timer * @param calendarUnit * the unit of the delta that is a constant on {@link Calendar} * @param deltaTime * the delta between events * @param oneTime * just runs once * @param startWhenFirstCreated * true: start once when created ; false: start only when delta is reached */ public void addTimer(TimerEventHandler handler, String timerName, int calendarUnit, int deltaTime, boolean oneTime, boolean startWhenFirstCreated) { timers.add(new TimerEventContext(handler, timerName, calendarUnit, deltaTime, oneTime, startWhenFirstCreated)); }
@Test public void testBrokenTimerEvent() { AtomicInteger okCounter = new AtomicInteger(); getCommonServicesContext().getTimerService().timerAdd(new TimerEventContext(new CrashingTimerEventHandler(), "Crashing", Calendar.MILLISECOND, 500, false, true)); getCommonServicesContext().getTimerService().timerAdd(new TimerEventContext( // (services, changes, event) -> okCounter.incrementAndGet(), // "OK", // Calendar.MILLISECOND, // 700, // false, // true)); ThreadTools.sleep(3000); Assert.assertTrue(okCounter.get() >= 2); }
@Test public void testBrokenTimerEvent() { AtomicInteger okCounter = new AtomicInteger(); getCommonServicesContext().getTimerService().timerAdd(new TimerEventContext(new CrashingTimerEventHandler(), "Crashing", Calendar.MILLISECOND, 500, false, true)); getCommonServicesContext().getTimerService().timerAdd(new TimerEventContext( // (services, changes, event) -> okCounter.incrementAndGet(), // "OK", // Calendar.MILLISECOND, // 700, // false, // true)); ThreadTools.sleep(3000); Assert.assertTrue(okCounter.get() >= 2); }
@Test(timeout = 20000) public void testTimer_recurrent_at_start() { AtomicInteger count = new AtomicInteger(); getCommonServicesContext().getTimerService().timerAdd( // new TimerEventContext(new CounterTimerEventHandler(count), "testTimer_recurrent_at_start", Calendar.SECOND, 2, false, true) // ); // At start ThreadTools.sleep(500); Assert.assertEquals(1, count.get()); // Wait for at least 4 while (count.get() < 4) { ThreadTools.sleep(1000); } }
@Test(timeout = 20000) public void testTimer_recurrent_no_start() { AtomicInteger count = new AtomicInteger(); getCommonServicesContext().getTimerService().timerAdd( // new TimerEventContext(new CounterTimerEventHandler(count), "testTimer_recurrent_no_start", Calendar.SECOND, 2) // ); // Not at start ThreadTools.sleep(500); Assert.assertEquals(0, count.get()); // Wait for at least 3 while (count.get() < 3) { ThreadTools.sleep(1000); } }
@Test(timeout = 20000) public void testTimer_recurrent_at_start() { AtomicInteger count = new AtomicInteger(); getCommonServicesContext().getTimerService().timerAdd( // new TimerEventContext(new CounterTimerEventHandler(count), "testTimer_recurrent_at_start", Calendar.SECOND, 2, false, true) // ); // At start ThreadTools.sleep(500); Assert.assertEquals(1, count.get()); // Wait for at least 4 while (count.get() < 4) { ThreadTools.sleep(1000); } }
@Test(timeout = 20000) public void testTimer_recurrent_no_start() { AtomicInteger count = new AtomicInteger(); getCommonServicesContext().getTimerService().timerAdd( // new TimerEventContext(new CounterTimerEventHandler(count), "testTimer_recurrent_no_start", Calendar.SECOND, 2) // ); // Not at start ThreadTools.sleep(500); Assert.assertEquals(0, count.get()); // Wait for at least 3 while (count.get() < 3) { ThreadTools.sleep(1000); } }
@Test(timeout = 20000) public void testTimer_once() { AtomicInteger count = new AtomicInteger(); getCommonServicesContext().getTimerService().timerAdd( // new TimerEventContext(new CounterTimerEventHandler(count), "testTimer_once", Calendar.SECOND, 2, true, false) // ); // Not at start ThreadTools.sleep(500); Assert.assertEquals(0, count.get()); // Wait for it while (count.get() == 0) { ThreadTools.sleep(1000); } // Make sure only once ThreadTools.sleep(2000); Assert.assertEquals(1, count.get()); }
@Test(timeout = 20000) public void testTimer_once() { AtomicInteger count = new AtomicInteger(); getCommonServicesContext().getTimerService().timerAdd( // new TimerEventContext(new CounterTimerEventHandler(count), "testTimer_once", Calendar.SECOND, 2, true, false) // ); // Not at start ThreadTools.sleep(500); Assert.assertEquals(0, count.get()); // Wait for it while (count.get() == 0) { ThreadTools.sleep(1000); } // Make sure only once ThreadTools.sleep(2000); Assert.assertEquals(1, count.get()); }
services.getTimerService().timerAdd(new TimerEventContext(this, // "Let Encrypt - Complete - Wait DNS", // services.getTimerService().timerAdd(new TimerEventContext(this, // "Let Encrypt - Complete - Wait last", //
services.getTimerService().timerAdd(new TimerEventContext(new LetsEncryptRefreshOldCertsWaitDnsTimer(acmeService, dnsWaitDomain, challengeByDomain), // "Let Encrypt - Complete - Wait DNS", //