public synchronized void start() { // Ignore if already active if (active == true) return; active = true; log.debug("start: " + objectName + " at " + new Date()); // Perform the initial sends, for past notifications send missed events // otherwise ignore them synchronized (notifications) { Iterator iterator = notifications.values().iterator(); while (iterator.hasNext()) { RegisteredNotification rn = (RegisteredNotification) iterator.next(); if (sendPastNotifications) rn.sendType = SEND_START; else rn.sendType = SEND_NO; sendNotifications(rn); rn.sendType = SEND_NORMAL; } } // Start 'em up scheduler.start(); }