code: @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.");
          }
      }
docs: ~ Methods **************************************************************************************************************************************