Class AlarmSourceCentral

Object
com.tailf.ncs.alarmman.consumer.AlarmSourceCentral
All Implemented Interfaces:
Runnable

public class AlarmSourceCentral extends Object implements Runnable
The consuming part of the Alarm API.

This class acts as a proxy where incoming alarms are dispatched or forwarded to all registered AlarmSource attached to it.

One AlarmSourceCentral (and corresponding AlarmSinkCentral) is always present in the NCS JVM and it is started when NCS JVM is started.

It is also possible to start AlarmSourceCentral outside the NCS JVM.

Each client AlarmSource that is attached to a AlarmSourceCentral gets its own queue to check for incoming alarms.

The AlarmSourceCentral maintains or handles the client queues, for each incoming alarm to CDB it creates a new instance of Alarm and puts the new instance into all the client queues that are attached to this AlarmSourceCentral.

  • Constructor Details

    • AlarmSourceCentral

      public AlarmSourceCentral(int alarmQueueLen, Cdb cdb) throws IOException, ConfException
      Parameters:
      alarmQueueLen - maximum length of the out queues to the subscribes.
      cdb - the CDB socket to subscribe over.
      Throws:
      IOException
      ConfException
  • Method Details

    • isAlive

      public boolean isAlive()
    • getAlarmSource

      @Deprecated public static AlarmSourceCentral getAlarmSource(int alarmQueueLen, Cdb cdb) throws IOException, NavuException, ConfException
      Deprecated.
      Retrieves the alarm source central object.
      Parameters:
      alarmQueueLen - the maximum queue length.
      cdb - the CDB socket to subscribe over.
      Returns:
      the alarm source
      Throws:
      IOException
      NavuException
      ConfException
    • getAlarmQueue

      @Deprecated public static ArrayBlockingQueue<Alarm> getAlarmQueue()
      Deprecated.
      Use getQueue() instead.
      Returns a new alarm queue.
      Returns:
      ArrayBlockingQueue<Alarm>
    • returnAlarmQueue

      @Deprecated public static void returnAlarmQueue(ArrayBlockingQueue<Alarm> queue)
      Deprecated.
      Use returnQueue(ArrayBlockingQueue<Alarm>) instead.
      Returns the queue.
      Parameters:
      queue -
    • start

      public void start()
      Start the AlarmSourceCentral which makes it possible for AlarmSource's to attach to this AlarmSourceCentral and receive notifications.
    • stop

      public void stop()
    • run

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