Package com.tailf.ncs.alarmman.producer
Class AlarmSinkCentral
Object
com.tailf.ncs.alarmman.producer.AlarmSinkCentral
- All Implemented Interfaces:
 AutoCloseable,Runnable
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.
 
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.- 
Constructor Summary
ConstructorsConstructorDescriptionAlarmSinkCentral(int alarmQueueLen, Maapi maapi) Creates an NCS alarm sink.AlarmSinkCentral(int alarmQueueLen, Maapi maapi, int alarmBufSize, long alarmBufTimeout) Creates an NCS alarm sink. - 
Method Summary
Modifier and TypeMethodDescriptionvoidclose()Closes the alarm sink central by stopping the processing thread.getQueue()Returns the alarm queue.booleanisAlive()Checks if the alarm sink central thread is currently alive and running.booleanRequests the alarm sink central to stop processing alarms.voidrun()Main thread execution method that processes alarms from the queue.voidstart()Starts the alarm sink central thread for processing alarms.voidstop()Stops the alarm sink central thread and waits for it to terminate. 
- 
Constructor Details
- 
AlarmSinkCentral
Creates an NCS alarm sink.- Parameters:
 alarmQueueLen- the maximum length of the queue.maapi- the Maapi instance used to write alarm info
 - 
AlarmSinkCentral
Creates an NCS alarm sink.- Parameters:
 alarmQueueLen- the maximum length of the queue.maapi- the Maapi instance used to write alarm infoalarmBufSize- the size of the alarm bufferalarmBufTimeout- timeout in seconds after which the buffer will be submitted if there are no new alarms in the queue
 
 - 
 - 
Method Details
- 
getQueue
Returns the alarm queue.- Returns:
 - the current alarm queue.
 
 - 
start
public void start()Starts the alarm sink central thread for processing alarms. Creates and starts a daemon thread if not already running. - 
isAlive
public boolean isAlive()Checks if the alarm sink central thread is currently alive and running.- Returns:
 - true if the thread is alive, false otherwise
 
 - 
requestStop
public boolean requestStop()Requests the alarm sink central to stop processing alarms.- Returns:
 - true if the stop request was successful
 
 - 
stop
public void stop()Stops the alarm sink central thread and waits for it to terminate. Sends a termination signal to the queue and waits for the thread to join. - 
run
public void run()Main thread execution method that processes alarms from the queue. - 
close
public void close()Closes the alarm sink central by stopping the processing thread.- Specified by:
 closein interfaceAutoCloseable
 
 -