Class AlarmSinkCentral

Object
com.tailf.ncs.alarmman.producer.AlarmSinkCentral
All Implemented Interfaces:
AlarmSinkCentralMBean, Runnable

public class AlarmSinkCentral extends Object implements Runnable, AlarmSinkCentralMBean
An AlarmSinkCentral represent a central "proxy" for created AlarmSink's.

When AlarmSink's is created ( with the default constructor ), they are attched to the AlarmSinkCentral singleton instance which writes alarms directly into the alarm list on behalf of the attached AlarmSink instances. The benefit of using the AlarmSinkCentral is:

  • User do not need to create Cdb objects when creating AlarmSink
  • Possible to buffer alarms for faster throughput.
NOTE: A AlarmSinkCentral is available in NCS JVM. When specifying the queue size the amount alarm will be queued before it is written to Cdb. Alarms are written to a blocking queue within the same JVM as the NCS. The NCS writes the alarms down into the CDB.
  • Method Details

    • getAlarmQueue

      public static ArrayBlockingQueue<Alarm> getAlarmQueue()
      Returns the alarm queue from the AlarmSinkCentral
      Returns:
      the current alarm queue. null if NsMux has not yet started.
    • getAlarmSink

      @Deprecated public static AlarmSinkCentral getAlarmSink(int alarmQueueLen, Cdb cdb)
      Deprecated.
      Creates and returns the singleton instance of the AlarmSinkCentral
      Parameters:
      alarmQueueLen - the maximum length of the queue
      cdb - the Cdb instance used to write alarm info
      Returns:
      AlarmSinkCentral singleton instance
    • getAlarmSink

      public static AlarmSinkCentral getAlarmSink(int alarmQueueLen, Maapi maapi)
      Creates and returns the singleton instance of the AlarmSinkCentral
      Parameters:
      alarmQueueLen - the maximum length of the queue
      maapi - the Maapi instance used to write alarm info
      Returns:
      AlarmSinkCentral singleton instance
    • getAlarmSink

      @Deprecated public static AlarmSinkCentral getAlarmSink(int alarmQueueLen, Cdb cdb, int alarmBufSize, long alarmBufTimeout)
      Deprecated.
      Creates and returns the buffered NCS alarm queue.
      Parameters:
      alarmQueueLen - the maximum length of the queue
      cdb - the Cdb instance used to write alarm info
      alarmBufSize - the size of the alarm buffer
      alarmBufTimeout - timeout in seconds after which the buffer will be submitted if there are no new alarms in the queue
      Returns:
      AlarmSinkCentral singleton instance
    • getAlarmSink

      public static AlarmSinkCentral getAlarmSink(int alarmQueueLen, Maapi maapi, int alarmBufSize, long alarmBufTimeout)
      Creates and returns the buffered NCS alarm queue.
      Parameters:
      alarmQueueLen - the maximum length of the queue
      maapi - the Maapi instance used to write alarm info
      alarmBufSize - the size of the alarm buffer
      alarmBufTimeout - timeout in seconds after which the buffer will be submitted if there are no new alarms in the queue
      Returns:
      AlarmSinkCentral singleton instance
    • start

      public void start()
      Specified by:
      start in interface AlarmSinkCentralMBean
    • isAlive

      public boolean isAlive()
      Specified by:
      isAlive in interface AlarmSinkCentralMBean
    • requestStop

      public boolean requestStop()
    • stop

      public void stop()
      Specified by:
      stop in interface AlarmSinkCentralMBean
    • run

      public void run()
      Specified by:
      run in interface Runnable