Class EpicsChannelMonitorService
java.lang.Object
ch.psi.wica.controlsystem.epics.monitor.EpicsChannelMonitorService
A service which establishes EPICS CA monitors on user-specified channels of
interest, subsequently publishing the information from each monitor update
to interested consumers within the application.
-
Constructor Summary
ConstructorsConstructorDescriptionEpicsChannelMonitorService
(EpicsChannelManager.EpicsMonitoredChannelManagerService epicsChannelManager, EpicsChannelMonitorPublisher epicsChannelMonitorPublisher) Constructs a new instance. -
Method Summary
Modifier and TypeMethodDescriptionvoid
close()
Closes the service.Returns the statistics associated with this service.void
startMonitoring
(EpicsChannelMonitorRequest requestObject) Starts monitoring the EPICS control system channel according to the parameters in the supplied request object.void
stopMonitoring
(EpicsChannelMonitorRequest requestObject) Stops monitoring the EPICS control system channel specified by the supplied request object.
-
Constructor Details
-
EpicsChannelMonitorService
public EpicsChannelMonitorService(@Autowired EpicsChannelManager.EpicsMonitoredChannelManagerService epicsChannelManager, @Autowired EpicsChannelMonitorPublisher epicsChannelMonitorPublisher) Constructs a new instance.- Parameters:
epicsChannelManager
- an object which can be used to get the channel.epicsChannelMonitorPublisher
- an object which can be used to get the channel value.
-
-
Method Details
-
getStatistics
Returns the statistics associated with this service.- Returns:
- the statistics.
-
startMonitoring
Starts monitoring the EPICS control system channel according to the parameters in the supplied request object.The creation of the underlying EPICS monitor is performed asynchronously so the invocation of this method does NOT incur the cost of a network round trip.
The EPICS channel may or may not be online when this method is invoked. The connection-state-change event will be published when the connection to the remote IOC is eventually established. Subsequently, the value-change event will be published to provide the latest value of the channel.
- Parameters:
requestObject
- the request specification object.- Throws:
NullPointerException
- if the 'requestObject' argument was null.IllegalStateException
- if this service was previously closed.IllegalStateException
- if the 'requestObject' was already active.
-
stopMonitoring
Stops monitoring the EPICS control system channel specified by the supplied request object.- Parameters:
requestObject
- the request specification object.- Throws:
NullPointerException
- if the 'requestObject' argument was null.IllegalStateException
- if this service was previously closed.IllegalStateException
- if the 'requestObject' was not recognised.
-
close
public void close()Closes the service.
-