Package com.tailf.ncs.alarmman.consumer
Class AlarmSourceCentral
Object
com.tailf.ncs.alarmman.consumer.AlarmSourceCentral
- All Implemented Interfaces:
AlarmSourceCentralMBean
,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
.
-
Method Summary
Modifier and TypeMethodDescriptionvoid
Deprecated.static ArrayBlockingQueue<Alarm>
Returns a new alarm queue.static AlarmSourceCentral
getAlarmSource
(int alarmQueueLen, Cdb cdb) Retrieves the alarm source central object.boolean
isAlive()
static void
returnAlarmQueue
(ArrayBlockingQueue<Alarm> queue) Returns the queue.void
run()
void
start()
Start the AlarmSourceCentral which makes it possible for AlarmSource's to attach to thisAlarmSourceCentral
and receive notifications.void
stop()
-
Method Details
-
isAlive
public boolean isAlive()- Specified by:
isAlive
in interfaceAlarmSourceCentralMBean
-
awaitRunning
Deprecated.- Throws:
InterruptedException
-
getAlarmSource
public static AlarmSourceCentral getAlarmSource(int alarmQueueLen, Cdb cdb) throws IOException, NavuException, ConfException 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
Returns a new alarm queue.- Returns:
ArrayBlockingQueue<Alarm>
-
returnAlarmQueue
Returns the queue.- Parameters:
queue
-
-
start
public void start()Start the AlarmSourceCentral which makes it possible for AlarmSource's to attach to thisAlarmSourceCentral
and receive notifications.- Specified by:
start
in interfaceAlarmSourceCentralMBean
-
stop
public void stop()- Specified by:
stop
in interfaceAlarmSourceCentralMBean
-
run
public void run()
-