@Override @Transactional public synchronized void startAlertScheduling() { requireNotDisposed(); if (_alertSchedulingThread != null && _alertSchedulingThread.isAlive()) { _logger.info("Request to start alert scheduling aborted as it is already running."); } else { _logger.info("Starting alert scheduling thread."); _alertSchedulingThread = new SchedulingThread("schedule-alerts", LockType.ALERT_SCHEDULING); _alertSchedulingThread.start(); _logger.info("Alert scheduling thread started."); } }