com.pcbsys.nirvana.client.nIndexedDurable Class Reference

A base class for all implementations of shared nDurable classes. More...

Inheritance diagram for com.pcbsys.nirvana.client.nIndexedDurable:
com.pcbsys.nirvana.client.nDurable com.pcbsys.nirvana.client.nNamedObject com.pcbsys.nirvana.client.nSerialDurable com.pcbsys.nirvana.client.nSharedDurable com.pcbsys.nirvana.client.nSharedDurableQueued

Public Member Functions

void ack (long[] eids) throws nIllegalArgumentException, nSessionPausedException, nSessionNotConnectedException, nRequestTimedOutException
 Acknowledge multiple events in one server call. More...
 
void ack (long[] eids, boolean isSynchronous) throws nIllegalArgumentException, nSessionNotConnectedException, nSessionPausedException, nRequestTimedOutException
 Acknowledge multiple events in one server call. More...
 
nDurableViewer createViewer () throws nBaseClientException
 Creates a nDurableViewer object for viewing the elements on a given durable object. More...
 
long getOutstandingEvents ()
 This method returns the number of messages outstanding to be consumed for this named object. More...
 
void remove (long eid) throws nBaseClientException
 If supported this method will attempt to remove the event with the corresponding event ID from the durable object. More...
 
void remove (long start, long end) throws nBaseClientException
 If supported this method will attempt to remove events between the start and end events on a durable. More...
 
void remove (String filter) throws nBaseClientException
 If supported this method will attempt to remove events matching a filter on a durable. More...
 
void removeAll () throws nBaseClientException
 If supported this method will attempt to remove all events on a durable. More...
 
- Public Member Functions inherited from com.pcbsys.nirvana.client.nNamedObject
void ack (long[] eids) throws nIllegalArgumentException, nSessionPausedException, nSessionNotConnectedException, nRequestTimedOutException
 Acknowledge multiple events in one server call. More...
 
void ack (long[] eids, boolean isSynchronous) throws nIllegalArgumentException, nSessionNotConnectedException, nSessionPausedException, nRequestTimedOutException
 Acknowledge multiple events in one server call. More...
 
long getEID ()
 Returns the current event ID that this named context is bound to. More...
 
long getID ()
 Returns the unique ID of this client context. More...
 
String getName ()
 Returns the name of this client context. More...
 
long getOutstandingEvents ()
 If this object is shared, this method returns the number of messages outstanding to be consumed for this named object. More...
 
long getSharedNamedObjectOutstandingEvents ()
 If this object is shared, this method returns the number of messages outstanding to be consumed for this named object. More...
 
boolean isClusterWide ()
 Does this named object exist across the cluster. More...
 
boolean isDurableObjectInvalid ()
 When a store is removed (or modified which entails a remove and create) then these logical representations can become invalid Once they are invalid you must perform a findChannel again on the nSession to acquire the latest object. More...
 
boolean isPersistent ()
 Will this named object be restored after the Realm Server has been restarted. More...
 
boolean isPriorityEnabled ()
 If set the named object will queue multiple subscription such that the first subscriber will receive all events until it either disconnects or deletes the subscription, at which time, the next subscription request will start to receive events. More...
 
boolean isQueued ()
 If set the named object will be having hidden queue based implementation. More...
 
boolean isSerial ()
 If set the named object will queue multiple subscribers and send events to them in a serial fashion (events are processed in the order that they are published across all consumers). More...
 
boolean isShared ()
 If set the named object will queue multiple subscribers and send events to them in a round-robin fashion. More...
 

Detailed Description

A base class for all implementations of shared nDurable classes.

Since
10.1

Member Function Documentation

void com.pcbsys.nirvana.client.nIndexedDurable.ack ( long[]  eids) throws nIllegalArgumentException, nSessionPausedException, nSessionNotConnectedException, nRequestTimedOutException

Acknowledge multiple events in one server call.

The first argument contains all of the event IDs that you want to commit. This is functionally equivalent to calling nConsumeEvent.ack() for each event.

Parameters
eidsan array of the event IDs to be acknowledged.
Exceptions
nIllegalArgumentExceptionthrown if the event IDs were not consumed by this connection or if the named object is not shared
nSessionNotConnectedExceptionwe cannot write to the server if the session is not open
nSessionPausedExceptionwe cannot write to the server if the session is not open
nRequestTimedOutExceptionthe server did not respond within the time allocated
void com.pcbsys.nirvana.client.nIndexedDurable.ack ( long[]  eids,
boolean  isSynchronous 
) throws nIllegalArgumentException, nSessionNotConnectedException, nSessionPausedException, nRequestTimedOutException

Acknowledge multiple events in one server call.

The first argument contains all of the event IDs that you want to commit. This is functionally equivalent to calling nConsumeEvent.ack() for each event.

Parameters
eidsan array of the event IDs to be acknowledged.
isSynchronousif true, the thread will be held until the server has responded to the request
Exceptions
nIllegalArgumentExceptionthrown if the event IDs were not consumed by this connection or if the named object is not shared
nSessionNotConnectedExceptionwe cannot write to the server if the session is not open
nSessionPausedExceptionwe cannot write to the server if the session is not open
nRequestTimedOutExceptionthe server did not respond within the time allocated
nDurableViewer com.pcbsys.nirvana.client.nIndexedDurable.createViewer ( ) throws nBaseClientException
virtual

Creates a nDurableViewer object for viewing the elements on a given durable object.

Consuming events through this object using the nDurableViewer::next() method will not consume or acknowledge the events for the given durable.

Returns
an nDurableViewer object which can be used to view the events on a given durable object in an iterative fashion
Exceptions
nBaseClientExceptionthis exception may be thrown by implementors if creating the viewer fails
Since
10.0

Implements com.pcbsys.nirvana.client.nDurable.

Reimplemented in com.pcbsys.nirvana.client.nSharedDurableQueued.

long com.pcbsys.nirvana.client.nIndexedDurable.getOutstandingEvents ( )

This method returns the number of messages outstanding to be consumed for this named object.

If the named object is not shared then this method will always return -1

Returns
long length
void com.pcbsys.nirvana.client.nIndexedDurable.remove ( long  eid) throws nBaseClientException
virtual

If supported this method will attempt to remove the event with the corresponding event ID from the durable object.

Currently there is only limited support for removing events from a durable subscription. Shared durable objects which are not backed by a queue are the only durable objects which support this operation. All other implementors of this interface will throw a nIllegalStateException when invoked.

Parameters
eid- the EventID to purge from.
Exceptions
nIllegalStateExceptionIf the durable object is not shared this exception will be thrown.
Since
10.0

Implements com.pcbsys.nirvana.client.nDurable.

Reimplemented in com.pcbsys.nirvana.client.nSharedDurableQueued.

void com.pcbsys.nirvana.client.nIndexedDurable.remove ( long  start,
long  end 
) throws nBaseClientException
virtual

If supported this method will attempt to remove events between the start and end events on a durable.

Currently there is only limited support for removing events from a durable subscription. Shared durable objects which are not backed by a queue are the only durable objects which support this operation. All other implementors of this interface will throw a nIllegalStateException when invoked.

Parameters
start- the EventID to start the purge from.
end- the end EventID to purge to.
Exceptions
nIllegalStateExceptionIf the durable object is not shared this exception will be thrown.
nBaseClientExceptionIf the remove operation fails this exception will be thrown
Since
10.0

Implements com.pcbsys.nirvana.client.nDurable.

Reimplemented in com.pcbsys.nirvana.client.nSharedDurableQueued.

void com.pcbsys.nirvana.client.nIndexedDurable.remove ( String  filter) throws nBaseClientException
virtual

If supported this method will attempt to remove events matching a filter on a durable.

Currently there is only limited support for removing events from a durable subscription. Shared durable objects which are not backed by a queue are the only durable objects which support this operation. All other implementors of this interface will throw a nIllegalStateException when invoked.

Parameters
filter- string value of the filter to purge by
Exceptions
nIllegalStateExceptionIf the durable object is not shared this exception will be thrown.
nBaseClientExceptionIf the remove operation fails this exception will be thrown
Since
10.0

Implements com.pcbsys.nirvana.client.nDurable.

Reimplemented in com.pcbsys.nirvana.client.nSharedDurableQueued.

void com.pcbsys.nirvana.client.nIndexedDurable.removeAll ( ) throws nBaseClientException
virtual

If supported this method will attempt to remove all events on a durable.

Currently there is only limited support for removing events from a durable subscription. Shared durable objects which are not backed by a queue are the only durable objects which support this operation. All other implementors of this interface will throw a nIllegalStateException when invoked.

Exceptions
nIllegalStateExceptionIf the durable object is not shared this exception will be thrown.
nBaseClientExceptionIf the remove operation fails this exception will be thrown
Since
10.0

Implements com.pcbsys.nirvana.client.nDurable.

Reimplemented in com.pcbsys.nirvana.client.nSharedDurableQueued.