org.apache.jackrabbit.rmi.server
Class ServerObservationManager
java.lang.Object
java.rmi.server.RemoteObject
java.rmi.server.RemoteServer
java.rmi.server.UnicastRemoteObject
org.apache.jackrabbit.rmi.server.ServerObject
org.apache.jackrabbit.rmi.server.ServerObservationManager
- All Implemented Interfaces:
- Serializable, Remote, RemoteObservationManager
public class ServerObservationManager
- extends ServerObject
- implements RemoteObservationManager
Remote adapter for the JCR
ObservationManager interface.
This class makes a local item available as an RMI service using
the RemoteObservationManager
interface.
This class works in conjunction with the
ClientObservationManager class to
implement the distributed the event listener registration described in
ObservationManager,
RemoteObservationManager,
Serialized Form
ServerObservationManager
public ServerObservationManager(ObservationManager observationManager,
RemoteAdapterFactory factory)
throws RemoteException
- Creates a remote adapter for the given local workspace.
- Parameters:
observationManager - local observation managerfactory - remote adapter factory
- Throws:
RemoteException - on RMI errors
addEventListener
public void addEventListener(long listenerId,
int eventTypes,
String absPath,
boolean isDeep,
String[] uuid,
String[] nodeTypeName,
boolean noLocal)
throws RepositoryException,
RemoteException
- Remote version of the
ObservationManager.addEventListener()
method. See class comment for an explanation on how the
listenerId is used.
- Specified by:
addEventListener in interface RemoteObservationManager
- Parameters:
listenerId - The identification of the listener on the client
side to which events will be directed.eventTypes - The mask of event types to be sent to this listener.absPath - The root item defining a subtree for which events are to
be delivered.isDeep - true if the events from the complete subtree
rooted at absPath are to be sent or only for the item
at the given path.uuid - An optional list of node UUIDs for which events are to be
sent. If null this parameter is ignored.nodeTypeName - An optional list of node type names for which events
are to be sent. If null this parameter is ignored.noLocal - true if only events are to be sent which do
not originate from the session to which this instance belongs.
- Throws:
RepositoryException - on repository errors
RemoteException - on RMI errors
removeEventListener
public void removeEventListener(long listenerId)
throws RepositoryException,
RemoteException
- Remote version of the
ObservationManager.removeEventListener()
method. See class comment for an explanation on how the
listenerId is used.
- Specified by:
removeEventListener in interface RemoteObservationManager
- Parameters:
listenerId - The identification of the listener on the client
side to which events will be directed.
- Throws:
RepositoryException - on repository errors
RemoteException - on RMI errors
getNextEvent
public RemoteEventCollection getNextEvent(long timeout)
throws RemoteException
- Returns the next event to be dispatched to registered event listeners. If
no event is available, this method blocks until one is available or until
the given timeout expires.
- Specified by:
getNextEvent in interface RemoteObservationManager
- Parameters:
timeout - The time in milliseconds to wait for the next event
available to be dispatched. If negative or zero, this method waits
for ever.
- Returns:
- The
RemoteEventCollection to be dispatched. null is
returned if the method timed out waiting for an event to be
dispatched.
- Throws:
RemoteException - on RMI errors
Copyright © 2004-2017 The Apache Software Foundation. All Rights Reserved.