com.pcbsys.nirvana.client.nSession Class Reference

This class represents a Nirvana session, the logical connection between the client API and the Nirvana realm. More...

Public Member Functions

void addAsyncExceptionListener (nAsyncExceptionListener listener) throws nIllegalArgumentException
 Adds a new asynchronous exception listener, which will be notified when an exception occurs while performing an asynchronous operation. More...
 
void addConnectionQueueListener (nConnectionQueueListener listener) throws nIllegalArgumentException
 Adds a new connection queue listener, which will be notified when the internal outbound queue reaches defined limits, such as Reaching high water mark Reaching low water mark Exceeding the time it should take to access the queue object Exceeding the time it should take to push an event onto the queue Exceeding the time for a queue to be blocked due to reaching its high water mark Unless you have explicitly called nConstants.setWriteHandlerType(nConstants.sQueuedWriteHandler), and are therefore using an outbound queue, you will not receive any notifications from this listener. More...
 
void addConnectionQueueListener (nConnectionQueueListener listener, boolean hwm, boolean lwm, boolean access, boolean push, boolean block, boolean unblock) throws nIllegalArgumentException
 Adds a new connection queue listener, which will be notified when the internal outbound queue reaches defined limits, such as Reaching high water mark Reaching low water mark Exceeding the time it should take to access the queue object Exceeding the time it should take to push an event onto the queue Exceeding the time for a queue to be blocked due to reaching its high water mark Unless you have explicitly called nConstants.setWriteHandlerType(nConstants.sQueuedWriteHandler), and are therefore using an outbound queue, you will not receive any notifications from this listener. More...
 
void addRealm (com.pcbsys.nirvana.client.nRealm newRealm) throws nRealmAlreadyBoundException, nRealmUnreachableException, nSecurityException, nSessionNotConnectedException, nIllegalArgumentException, nRealmNotFoundException, nUnexpectedResponseException, nSessionPausedException, nRequestTimedOutException, nNameSpaceConflictException
 Adds (Joins) another realm to the realm this session is connected to. More...
 
void addRealm (com.pcbsys.nirvana.client.nRealm newRealm, nSession session) throws nRealmAlreadyBoundException, nRealmUnreachableException, nSecurityException, nSessionNotConnectedException, nIllegalArgumentException, nRealmNotFoundException, nUnexpectedResponseException, nSessionPausedException, nRequestTimedOutException, nNameSpaceConflictException
 Adds (Joins) another realm to the realm this session is connected to. More...
 
void addReconnectHandler (nReconnectHandler handler)
 Add a session reconnect handler to the session. More...
 
void close ()
 Closes this session, disconnecting from the server and killing all threads.
 
void commitRegisteredEventsToDataGroups (nRegisteredEvent[] events) throws nSecurityException, nSessionPausedException, nIllegalArgumentException, nSessionNotConnectedException, nRequestTimedOutException, nUnexpectedResponseException, nMaxBufferSizeExceededException
 Commit all registered event changes in a single call to the server. More...
 
void commitRegisteredEventsToDataGroups (nRegisteredEvent[] events, boolean replace) throws nSecurityException, nSessionPausedException, nIllegalArgumentException, nSessionNotConnectedException, nRequestTimedOutException, nUnexpectedResponseException, nMaxBufferSizeExceededException
 Commit all registered event changes in a single call to the server. More...
 
nCreateResult[] create (com.pcbsys.nirvana.client.nChannelAttributes[] attr) throws nUnknownRemoteRealmException, nSecurityException, nChannelAlreadyExistsException, nSessionPausedException, nSessionNotConnectedException, nUnexpectedResponseException, nRequestTimedOutException, nIllegalArgumentException
 Creates new channels on the realm this session is connected. More...
 
nChannel createChannel (com.pcbsys.nirvana.client.nChannelAttributes attr) throws nUnknownRemoteRealmException, nSecurityException, nChannelAlreadyExistsException, nSessionPausedException, nSessionNotConnectedException, nUnexpectedResponseException, nRequestTimedOutException, nIllegalArgumentException
 Creates a new channel on the realm this session is connected. More...
 
nChannel createChannel (com.pcbsys.nirvana.client.nChannelAttributes attr, long p_initialEID) throws nUnknownRemoteRealmException, nSecurityException, nChannelAlreadyExistsException, nSessionPausedException, nSessionNotConnectedException, nUnexpectedResponseException, nRequestTimedOutException, nIllegalArgumentException
 Creates a new channel on the realm this session is connected. More...
 
nChannel createChannel (com.pcbsys.nirvana.client.nChannelAttributes attr, long p_initialEID, long privMask) throws nUnknownRemoteRealmException, nSessionPausedException, nSecurityException, nChannelAlreadyExistsException, nSessionNotConnectedException, nUnexpectedResponseException, nRequestTimedOutException, nIllegalArgumentException
 Creates a new channel on the realm this session is connected. More...
 
nDataGroup createDataGroup (String dataGroupName) throws nIllegalArgumentException, nRequestTimedOutException, nSessionPausedException, nSessionNotConnectedException, nSecurityException, nUnexpectedResponseException
 Create a new data group on the server. More...
 
nDataGroup createDataGroup (String dataGroupName, nDataGroupListener listener) throws nIllegalArgumentException, nRequestTimedOutException, nSessionPausedException, nSessionNotConnectedException, nSecurityException, nUnexpectedResponseException
 Create a new data group on the server. More...
 
nDataGroup createDataGroup (String dataGroupName, nDataGroupListener listener, nConflationAttributes conflationAttributes) throws nRequestTimedOutException, nIllegalArgumentException, nSessionPausedException, nSessionNotConnectedException, nSecurityException, nUnexpectedResponseException
 Create a new data group on the server. More...
 
nDataGroup createDataGroup (String dataGroupName, boolean enableMulticast) throws nIllegalArgumentException, nRequestTimedOutException, nSessionPausedException, nSessionNotConnectedException, nSecurityException, nUnexpectedResponseException
 Create a new data group on the server. More...
 
nDataGroup createDataGroup (String dataGroupName, nDataGroupListener listener, boolean enableMulticast) throws nIllegalArgumentException, nRequestTimedOutException, nSessionPausedException, nSessionNotConnectedException, nSecurityException, nUnexpectedResponseException
 Create a new data group on the server. More...
 
nDataGroup createDataGroup (String dataGroupName, nDataGroupListener listener, nConflationAttributes conflationAttributes, boolean enableMulticast, boolean dropExpiredEvents) throws nRequestTimedOutException, nIllegalArgumentException, nSessionPausedException, nSessionNotConnectedException, nSecurityException, nUnexpectedResponseException
 Create a new data group on the server. More...
 
nDataGroup createDataGroup (String dataGroupName, nDataGroupListener listener, nConflationAttributes conflationAttributes, boolean enableMulticast, boolean dropExpiredEvents, int groupPriority) throws nRequestTimedOutException, nIllegalArgumentException, nSessionPausedException, nSessionNotConnectedException, nSecurityException, nUnexpectedResponseException
 Create a new data group on the server. More...
 
nDataGroup[] createDataGroups (String[] dataGroupNames) throws nIllegalArgumentException, nRequestTimedOutException, nSessionPausedException, nSessionNotConnectedException, nSecurityException, nUnexpectedResponseException
 Create new data groups on the server if they don't exist, or return them from the local list if found. More...
 
nDataGroup[] createDataGroups (String[] dataGroupNames, boolean enableMulticast) throws nIllegalArgumentException, nRequestTimedOutException, nSessionPausedException, nSessionNotConnectedException, nSecurityException, nUnexpectedResponseException
 Create new data groups on the server if they don't exist, or return them from the local list if found. More...
 
nDataGroup[] createDataGroups (String[] dataGroupNames, nConflationAttributes conflationAttributes) throws nIllegalArgumentException, nRequestTimedOutException, nSessionPausedException, nSessionNotConnectedException, nSecurityException, nUnexpectedResponseException
 Create new data groups on the server if they don't exist, or return them from the local list if found. More...
 
nDataGroup[] createDataGroups (String[] dataGroupNames, nConflationAttributes conflationAttributes, boolean enableMulticast) throws nIllegalArgumentException, nRequestTimedOutException, nSessionPausedException, nSessionNotConnectedException, nSecurityException, nUnexpectedResponseException
 Create new data groups on the server if they don't exist, or return them from the local list if found. More...
 
nQueue createQueue (com.pcbsys.nirvana.client.nChannelAttributes attr, long privMask) throws nUnknownRemoteRealmException, nSessionPausedException, nSecurityException, nChannelAlreadyExistsException, nSessionNotConnectedException, nUnexpectedResponseException, nRequestTimedOutException, nIllegalArgumentException
 Creates a new queue on the realm this session is connected. More...
 
nQueue createQueue (com.pcbsys.nirvana.client.nChannelAttributes attr) throws nUnknownRemoteRealmException, nSessionPausedException, nSecurityException, nChannelAlreadyExistsException, nSessionNotConnectedException, nUnexpectedResponseException, nRequestTimedOutException, nIllegalArgumentException
 Creates a new queue on the realm this session is connected. More...
 
nDeleteResult[] delete (com.pcbsys.nirvana.client.nChannelAttributes[] attr) throws nUnknownRemoteRealmException, nSecurityException, nChannelNotFoundException, nSessionPausedException, nSessionNotConnectedException, nUnexpectedResponseException, nRequestTimedOutException, nIllegalArgumentException
 Deletes all channels in the array of nChannelAttributes array. More...
 
void deleteChannel (com.pcbsys.nirvana.client.nChannelAttributes attr) throws nUnknownRemoteRealmException, nSessionPausedException, nSecurityException, nChannelNotFoundException, nSessionNotConnectedException, nUnexpectedResponseException, nRequestTimedOutException, nIllegalArgumentException
 Deletes a nirvana channel that exists on the realm this session is connected to, or a joined realm. More...
 
void deleteDataGroup (String[] dataGroupNames) throws nIllegalArgumentException, nRequestTimedOutException, nSessionPausedException, nSessionNotConnectedException, nSecurityException, nUnexpectedResponseException
 Deletes the specified data group from the server. More...
 
void deleteDataGroup (String dataGroupName) throws nIllegalArgumentException, nRequestTimedOutException, nSessionPausedException, nSessionNotConnectedException, nSecurityException, nUnexpectedResponseException
 Deletes the specified data group from the server. More...
 
void deleteDataGroup (nDataGroup group) throws nRequestTimedOutException, nSessionPausedException, nSessionNotConnectedException, nSecurityException, nUnexpectedResponseException
 Deletes the specified data group from the server. More...
 
void deleteDataGroup (nDataGroup[] groups) throws nRequestTimedOutException, nSessionPausedException, nSessionNotConnectedException, nSecurityException, nUnexpectedResponseException
 Deletes the specified data group from the server. More...
 
void deleteQueue (com.pcbsys.nirvana.client.nChannelAttributes attr) throws nUnknownRemoteRealmException, nSessionPausedException, nSecurityException, nChannelNotFoundException, nSessionNotConnectedException, nUnexpectedResponseException, nRequestTimedOutException, nIllegalArgumentException
 Deletes a nirvana queue that exists on the realm this session is connected to, or a joined realm. More...
 
void deleteRealm (nRealm aRealm) throws nRealmNotFoundException, nSessionPausedException, nRealmUnreachableException, nSecurityException, nSessionNotConnectedException, nUnexpectedResponseException, nRequestTimedOutException, nIllegalArgumentException, nRealmInUseException
 Deletes (unjoins) another realm from the realm this session is connected to. More...
 
synchronized void enableThreading (int poolSize)
 Enables thread pooling for this session. More...
 
synchronized void enableThreading ()
 Calling this function starts the internal thread pools. More...
 
synchronized void enableThreading (boolean enabled)
 Calling this function starts the internal thread pools. More...
 
nFindResult[] find (nChannelAttributes[] attr) throws nSessionPausedException, nUnknownRemoteRealmException, nSecurityException, nSessionNotConnectedException, nIllegalArgumentException, nUnexpectedResponseException, nRequestTimedOutException
 Finds and returns an array of nFindResult objects that correspond to the results of the find operations on each nChannelAttributes. More...
 
nChannel findChannel (com.pcbsys.nirvana.client.nChannelAttributes attr) throws nChannelNotFoundException, nSessionPausedException, nUnknownRemoteRealmException, nSecurityException, nSessionNotConnectedException, nIllegalArgumentException, nUnexpectedResponseException, nRequestTimedOutException, nIllegalChannelMode
 Finds and returns a nirvana channel that exists on the realm this session is connected to, or a joined realm. More...
 
nQueue findQueue (com.pcbsys.nirvana.client.nChannelAttributes attr) throws nChannelNotFoundException, nSessionPausedException, nUnknownRemoteRealmException, nSecurityException, nSessionNotConnectedException, nIllegalArgumentException, nUnexpectedResponseException, nRequestTimedOutException, nIllegalChannelMode
 Finds and returns a nirvana queue that exists on the realm this session is connected to, or a joined realm. More...
 
String get3rdPartyCookie () throws nSessionNotConnectedException
 Returns any 3rd party cookies that may have been honoured. More...
 
nSessionAttributes getAttrib ()
 Gets the session attribute object associated with this session. More...
 
nSessionAttributes getAttributes ()
 Gets the session attribute object associated with this session. More...
 
boolean getChannelMultiplexing ()
 Returns true if channel multiplexing has been enabled or not. More...
 
com.pcbsys.nirvana.client.nChannelAttributes[] getChannels () throws nSecurityException, nSessionNotConnectedException, nSessionPausedException, nUnexpectedResponseException, nRequestTimedOutException
 Returns a list of all known channels and queues. More...
 
com.pcbsys.nirvana.client.nChannelAttributes[] getChannels (String folder) throws nSecurityException, nSessionNotConnectedException, nSessionPausedException, nUnexpectedResponseException, nRequestTimedOutException
 Returns a list of all known channels and queues. More...
 
String getConnectionList ()
 Returns a comma seperated list of RNAMEs which can be used to access the realm or cluster namespace. More...
 
int getCurrentLatency ()
 Returns the round trip time of the last synchronous request that was made. More...
 
nDataGroup[] getDataGroups () throws nRequestTimedOutException, nSessionPausedException, nSessionNotConnectedException, nSecurityException, nUnexpectedResponseException
 Return the array of nDataGroup objects excluding the default data group. More...
 
nDataGroup[] getDataGroups (String prefix) throws nRequestTimedOutException, nSessionPausedException, nSessionNotConnectedException, nSecurityException, nUnexpectedResponseException
 Return the array of nDataGroup objects excluding the default data group that match a specific prefix. More...
 
nDataGroup[] getDataGroups (nDataGroupListener listener) throws nRequestTimedOutException, nSessionPausedException, nSessionNotConnectedException, nSecurityException, nUnexpectedResponseException
 Get all known data groups on the server (excluding the default data group) and register a listener. More...
 
nDataGroup[] getDataGroups (String prefix, nDataGroupListener listener) throws nRequestTimedOutException, nSessionPausedException, nSessionNotConnectedException, nSecurityException, nUnexpectedResponseException
 Get all known data groups on the server (excluding the default data group) that match a specific prefix, and register a listener against them. More...
 
nDataGroup getDefaultDataGroup () throws nRequestTimedOutException, nSessionPausedException, nSessionNotConnectedException, nSecurityException, nUnexpectedResponseException
 Return the default data group object. More...
 
nDataGroup getDefaultDataGroup (nDataGroupListener listener) throws nRequestTimedOutException, nSessionPausedException, nSessionNotConnectedException, nSecurityException, nUnexpectedResponseException
 Return the default nDataGroup object, and provide a listener that will receive callbacks when new streams or groups are added or removed. More...
 
String getId () throws nSessionNotConnectedException
 Returns the unique session Id for this session. More...
 
long getInputByteCount ()
 Returns the number of bytes received from the server on this session object. More...
 
int getKnownGroupCount ()
 Get the size of the known data groups list. More...
 
long getOutputByteCount ()
 Returns the number of bytes sent to the server using this session object. More...
 
long getQueueSize ()
 Returns the outbound connection queue size. More...
 
com.pcbsys.nirvana.client.nRealm getRealm (String name) throws nRealmNotFoundException, nSessionPausedException, nSecurityException, nSessionNotConnectedException, nUnexpectedResponseException, nRequestTimedOutException, nIllegalArgumentException
 Gets a reference to a realm that is already joined. More...
 
com.pcbsys.nirvana.client.nRealm[] getRealms () throws nSecurityException, nSessionNotConnectedException, nSessionPausedException, nUnexpectedResponseException, nRequestTimedOutException, nIllegalArgumentException
 Returns a list of all known realms on the connected realm. More...
 
com.pcbsys.nirvana.client.nRealm[] getRealms (boolean zoneRealms) throws nSecurityException, nSessionNotConnectedException, nSessionPausedException, nUnexpectedResponseException, nRequestTimedOutException, nIllegalArgumentException
 Returns a list of all known realms on the connected realm. More...
 
long getReceivedEventCount ()
 Return the number of events received by this session. More...
 
String getRemoteId () throws nSessionNotConnectedException
 Returns the rname that this session has used. More...
 
long getSentEventCount ()
 Return the number of events sent by this session. More...
 
int getServerMaxBufferSize ()
 Gets the maximum client buffer size. More...
 
String getServerRealmName () throws nSessionNotConnectedException
 Returns the sessions server realm name. More...
 
long getServerTime () throws nSessionNotConnectedException, nUnexpectedResponseException, nRequestTimedOutException, nSessionPausedException, nSecurityException
 Gets the current time on the server. More...
 
long getSessionConnectionId ()
 Returns the unique connection id associated with this session by the server. More...
 
String getStreamId ()
 Get the stream Id for this session if initialised with an nDataStreamListener. More...
 
nSubject[] getSubject () throws nSessionNotConnectedException
 Gets the subject associated with this nirvana session. More...
 
nSubject getSubjectObject () throws nSessionNotConnectedException
 Gets the subject associated with this nirvana session. More...
 
int getThreadPoolSize ()
 Returns the current configured thread pool size. More...
 
String getUsername ()
 Gets the username associated with this nirvana session. More...
 
boolean hasQuorum () throws nSessionNotConnectedException, nUnexpectedResponseException, nRequestTimedOutException, nSessionPausedException, nSecurityException
 If the realm this session is connected to is part of a cluster then this function will return whether the cluster has Quorum according to the connected realm. More...
 
void init () throws nRealmUnreachableException, nSecurityException, nSessionNotConnectedException, nSessionAlreadyInitialisedException
 Initialises a session object, opening the physical connection to the server. More...
 
void init (boolean disconnectIfClusterFails) throws nRealmUnreachableException, nSecurityException, nSessionNotConnectedException, nSessionAlreadyInitialisedException
 Initialises a session object, opening the physical connection to the server. More...
 
nDataStream init (nDataStreamListener streamListener) throws nRealmUnreachableException, nSecurityException, nSessionNotConnectedException, nSessionAlreadyInitialisedException
 Initialises a session object, opening the physical connection to the server and supplies a nDataStreamListener to receive asynchronous direct events. More...
 
nDataStream init (boolean disconnectIfClusterFails, nDataStreamListener streamListener) throws nRealmUnreachableException, nSecurityException, nSessionNotConnectedException, nSessionAlreadyInitialisedException
 Initialises a session object, opening the physical connection to the server and supplies a nDataStreamListener to receive asynchronous direct events. More...
 
boolean isConnected ()
 Returns true if this session is still connected with the remote realm. More...
 
boolean isConnectionVirtual ()
 Queries the underlying connection of this session to establish if it is a virtual connection or not. More...
 
boolean isMaxBufferSizeClientCheck ()
 Returns whether the elements of the events being sent should be checked against the max buffer size. More...
 
boolean isMemberOfCluster ()
 If the realm this session is connected to is part of a cluster then this function will return true. More...
 
boolean isPaused ()
 Returns true if this session is paused. More...
 
synchronized void pause (boolean releaseRequests)
 This function pauses delivery of new events to all subscribed nEventListeners until resume is called. More...
 
synchronized void pauseStream () throws Exception
 Pause the events being received by the Data Group Listener. More...
 
void removeAsyncExceptionListener (nAsyncExceptionListener listener) throws nIllegalArgumentException
 Removes an already added asynchronous exception listener, which will not be notified of asynchronous exceptions anymore. More...
 
void removeConnectionQueueListener (nConnectionQueueListener listener) throws nIllegalArgumentException
 Removes an already added connection queue listener, which will not be notified of queue state changes anymore. More...
 
void removeReconnectHandler (nReconnectHandler handler)
 Remove the reconnect handler from the session. More...
 
synchronized void resume ()
 Resumes delivery of events to nEventListeners.
 
synchronized void resumeStream () throws Exception
 Resumes the events being received by the Data Group Listener. More...
 
void setAdditionalPrincipals (String[] principals)
 Enable the nSession subject to contain multiple principals which can be used for subject based filtering. More...
 
void setChannelMultiplexing (boolean flag) throws nSessionAlreadyInitialisedException
 Enables or disables the ability to add multiple subscriptions on a channel, by default it is enabled. More...
 
void setHTTPURLParameter (String param)
 Allows the HTTP communication between the client and the realm to include an optional parameter that can be analysed by load balance servers or proxies. More...
 
void setReadThreadAsDaemon (boolean isDaemon)
 Each Nirvana nSession has a dedicated thread used to synchronously read from the underlying transport. More...
 
void setThreadPoolSize (int size)
 Changes the current size of the thread pool to the size passed. More...
 
nSubscriptionAttributes[] subscribe (nSubscriptionAttributes[] attributes) throws Exception
 Subscribe to the channels specified within the nSubscriptionAttributes array. More...
 
void unblockThread (String name)
 Unblocks the thread of the given name that my be in a synchronous call. More...
 
void updateConnectionListWithServerList ()
 Update the current session attributes with the RNAMEs retrieved from the server.
 
void write (nConsumeEvent event, nAbstractChannel[] destinations) throws nSecurityException, nRequestTimedOutException, nSessionPausedException, nSessionNotConnectedException, nMaxBufferSizeExceededException
 Sends the event to the specified channel / queue. More...
 
void write (nConsumeEvent[] events, nAbstractChannel destination) throws nSecurityException, nRequestTimedOutException, nSessionPausedException, nSessionNotConnectedException, nMaxBufferSizeExceededException
 Sends the events to the specified channel / queue. More...
 
void write (nConsumeEvent[] events, nAbstractChannel[] destinations) throws nSecurityException, nRequestTimedOutException, nSessionPausedException, nSessionNotConnectedException, nMaxBufferSizeExceededException
 Sends the events to the specified channels / queues. More...
 
void write (nConsumeEvent[] evts, nAbstractChannel[] destinations, boolean waitForReply) throws nSecurityException, nRequestTimedOutException, nSessionPausedException, nSessionNotConnectedException, nMaxBufferSizeExceededException
 Sends the events to the specified channels / queues. More...
 
void write (nConsumeEvent evts, nAbstractChannel[] destinations, boolean waitForReply) throws nSecurityException, nRequestTimedOutException, nSessionPausedException, nSessionNotConnectedException, nMaxBufferSizeExceededException
 Sends the event to the specified channels / queues. More...
 
void write (nConsumeEvent[] evts, nAbstractChannel destination, boolean waitForReply) throws nSecurityException, nRequestTimedOutException, nSessionPausedException, nSessionNotConnectedException, nMaxBufferSizeExceededException
 Sends the events to the specified channels / queues. More...
 
void write (nConsumeEvent evt, nAbstractChannel destination, boolean waitForReply) throws nSecurityException, nRequestTimedOutException, nSessionPausedException, nSessionNotConnectedException, nMaxBufferSizeExceededException
 Sends the event to the specified channel / queue. More...
 
void write (Map< nConsumeEvent, nAbstractChannel > list, boolean waitForResponse) throws nSecurityException, nRequestTimedOutException, nSessionPausedException, nSessionNotConnectedException, nMaxBufferSizeExceededException
 Sends each event in the list to its corresponding channel / queue. More...
 
void writeDataGroup (nConsumeEvent evt, nDataGroup dataGroup) throws nSecurityException, nRequestTimedOutException, nSessionPausedException, nSessionNotConnectedException, nMaxBufferSizeExceededException
 Sends the event to the specified data group. More...
 
void writeDataGroup (nConsumeEvent evt, nDataGroup[] dataGroups) throws nSecurityException, nRequestTimedOutException, nSessionPausedException, nSessionNotConnectedException, nMaxBufferSizeExceededException
 Sends the event to all of the specified data groups. More...
 
void writeDataGroup (nConsumeEvent[] evts, nDataGroup dataGroup) throws nSecurityException, nRequestTimedOutException, nSessionPausedException, nSessionNotConnectedException, nMaxBufferSizeExceededException
 Sends the list of events to the specified data group. More...
 
void writeDataGroup (Map< nConsumeEvent, nDataGroup > list) throws nSecurityException, nRequestTimedOutException, nSessionPausedException, nSessionNotConnectedException, nMaxBufferSizeExceededException
 Sends each event in the list to its corresponding data group. More...
 
void writeDataGroup (nConsumeEvent[] evts, nDataGroup[] dataGroups) throws nSecurityException, nRequestTimedOutException, nSessionPausedException, nSessionNotConnectedException, nMaxBufferSizeExceededException
 Sends the list of events to all of the specified data groups. More...
 
void writeDataGroup (nConsumeEvent evt, nDataGroup dataGroup, boolean waitForReply) throws nSecurityException, nRequestTimedOutException, nSessionPausedException, nSessionNotConnectedException, nMaxBufferSizeExceededException
 Sends the event to the specified data group. More...
 
void writeDataGroup (nConsumeEvent evt, nDataGroup[] dataGroups, boolean waitForReply) throws nSecurityException, nRequestTimedOutException, nSessionPausedException, nSessionNotConnectedException, nMaxBufferSizeExceededException
 Sends the event to all of the specified data groups. More...
 
void writeDataGroup (nConsumeEvent[] evts, nDataGroup dataGroup, boolean waitForReply) throws nSecurityException, nRequestTimedOutException, nSessionPausedException, nSessionNotConnectedException, nMaxBufferSizeExceededException
 Sends the list of events to the specified data group. More...
 
void writeDataGroup (nConsumeEvent[] evts, nDataGroup[] dataGroups, boolean waitForReply) throws nSecurityException, nRequestTimedOutException, nSessionPausedException, nSessionNotConnectedException, nMaxBufferSizeExceededException
 Sends the list of events to all of the specified data groups. More...
 
void writeDataGroup (Map< nConsumeEvent, nDataGroup > list, boolean waitForResponse) throws nSecurityException, nRequestTimedOutException, nSessionPausedException, nSessionNotConnectedException, nMaxBufferSizeExceededException
 Sends each event in the list to its corresponding data group. More...
 
void writeDataStream (nConsumeEvent evt, nDataStream stream) throws nSecurityException, nRequestTimedOutException, nSessionPausedException, nSessionNotConnectedException, nMaxBufferSizeExceededException
 Sends the event to the specified stream. More...
 
void writeDataStream (nConsumeEvent evt, nDataStream[] streams) throws nSecurityException, nRequestTimedOutException, nSessionPausedException, nSessionNotConnectedException, nMaxBufferSizeExceededException
 Sends the event to the specified streams. More...
 
void writeDataStream (nConsumeEvent[] evts, nDataStream stream) throws nSecurityException, nRequestTimedOutException, nSessionPausedException, nSessionNotConnectedException, nMaxBufferSizeExceededException
 Sends the events to the specified stream. More...
 
void writeDataStream (nConsumeEvent[] evts, nDataStream[] streams) throws nSecurityException, nRequestTimedOutException, nSessionPausedException, nSessionNotConnectedException, nMaxBufferSizeExceededException
 Sends the events to the specified streams. More...
 
void writeDataStream (Map< nConsumeEvent, nDataStream > list) throws nSecurityException, nRequestTimedOutException, nSessionPausedException, nSessionNotConnectedException, nMaxBufferSizeExceededException
 Sends each event in the list to its corresponding data stream. More...
 
void writeDataStream (Map< nConsumeEvent, nDataStream > list, boolean waitForResponse) throws nSecurityException, nRequestTimedOutException, nSessionPausedException, nSessionNotConnectedException, nMaxBufferSizeExceededException
 Sends each event in the list to its corresponding data stream. More...
 
void writeDataStream (nConsumeEvent evt, nDataStream stream, boolean waitForReply) throws nSecurityException, nRequestTimedOutException, nSessionPausedException, nSessionNotConnectedException, nMaxBufferSizeExceededException
 Sends the event to the specified stream. More...
 
void writeDataStream (nConsumeEvent evt, nDataStream[] streams, boolean waitForReply) throws nSecurityException, nRequestTimedOutException, nSessionPausedException, nSessionNotConnectedException, nMaxBufferSizeExceededException
 Sends the event to the specified streams. More...
 
void writeDataStream (nConsumeEvent[] evts, nDataStream stream, boolean waitForReply) throws nSecurityException, nRequestTimedOutException, nSessionPausedException, nSessionNotConnectedException, nMaxBufferSizeExceededException
 Sends the event to the specified stream. More...
 
void writeDataStream (nConsumeEvent[] evts, nDataStream[] streams, boolean waitForReply) throws nSecurityException, nRequestTimedOutException, nSessionPausedException, nSessionNotConnectedException, nMaxBufferSizeExceededException
 Sends the event to the specified streams. More...
 

Static Public Member Functions

static int getMaxBufferSize ()
 Gets the maximum client buffer size. More...
 
static void setMaxBufferSize (int size) throws nIllegalArgumentException
 Sets the maximum client buffer size. More...
 

Protected Member Functions

synchronized void clearConnection ()
 Close and clear the current fConnection This must not throw.
 
void createFactory (nSessionAttributes attrib)
 Used to make a driver factory with the given session attributes including things like ssl.
 
nDataGroup[] getGroupsContaining (nDataGroup group)
 Locate the groups that currently contain this group. More...
 
int getLocalPort ()
 Return the current port this session is connected to. More...
 
void registerExtensionCallback (nServerExtensionCallback callback)
 Used to register for listening to embedded API events. More...
 
nChannel returnCachedChannelOrConstruct (com.pcbsys.nirvana.base.nChannelAttributes ca) throws nIllegalChannelMode, nIllegalArgumentException
 This function is only used by nAdminSession and could be refactored there with some careful thought. More...
 
nQueue returnCachedQueueOrConstruct (com.pcbsys.nirvana.base.nChannelAttributes ca) throws nIllegalChannelMode, nIllegalArgumentException
 This function is only used by nAdminSession and could be refactored there with some careful thought. More...
 
void sendExtensionData (long id, byte[] data, nEventProperties props) throws nSessionNotConnectedException, nSessionPausedException, nRequestTimedOutException
 Used to send embedded API events to the server.
 
void write (Map< nConsumeEvent, nAbstractChannel > list, boolean waitForResponse, boolean isRegisteredEvent) throws nSecurityException, nRequestTimedOutException, nSessionPausedException, nSessionNotConnectedException, nMaxBufferSizeExceededException
 Sends each event in the list to its corresponding channel / queue. More...
 
void writeDataGroup (Map< nConsumeEvent, nDataGroup > list, boolean waitForResponse, boolean isRegisteredEvent) throws nSecurityException, nRequestTimedOutException, nSessionPausedException, nSessionNotConnectedException, nMaxBufferSizeExceededException
 Sends each event in the list to its corresponding data group. More...
 
void writeDataStream (Map< nConsumeEvent, nDataStream > list, boolean waitForResponse, boolean isRegisteredEvent) throws nSecurityException, nRequestTimedOutException, nSessionPausedException, nSessionNotConnectedException, nMaxBufferSizeExceededException
 Sends each event in the list to its corresponding data stream. More...
 
nEvent writeEvent (nEvent e) throws nSessionNotConnectedException, nRequestTimedOutException, nSessionPausedException
 Writes a synchronous or asynchronous event to the associated connection. More...
 
nEvent writeEvent (nEvent e, long timeout) throws nSessionNotConnectedException, nRequestTimedOutException, nSessionPausedException
 nEvent to be written by the connection to the server and depending on the event will receive a sync response More...
 

Detailed Description

This class represents a Nirvana session, the logical connection between the client API and the Nirvana realm.

A Nirvana session is defined through a set of session attributes that is represented by the nSessionAttributes class in the same package. This set of attributes is then passed to the session factory object which creates the session. A session object needs to be initialised in order for the physical connection to be opened to the server. Please note that when using a session to retrieve events from a channel or queue, you can only have 1 listener specifying a set filter per session object. For example if you have a selector set as CCY='USD' you can use that filter by only one object implementing the nEventListener interface per session, otherwise a nUserAlreadySubscribedException will be thrown.

Member Function Documentation

void com.pcbsys.nirvana.client.nSession.addAsyncExceptionListener ( nAsyncExceptionListener  listener) throws nIllegalArgumentException

Adds a new asynchronous exception listener, which will be notified when an exception occurs while performing an asynchronous operation.

Parameters
listenerThe asynchronous exception listener to be added
Exceptions
nIllegalArgumentExceptionIllegal parameter, check the message for more information
void com.pcbsys.nirvana.client.nSession.addConnectionQueueListener ( nConnectionQueueListener  listener) throws nIllegalArgumentException

Adds a new connection queue listener, which will be notified when the internal outbound queue reaches defined limits, such as Reaching high water mark Reaching low water mark Exceeding the time it should take to access the queue object Exceeding the time it should take to push an event onto the queue Exceeding the time for a queue to be blocked due to reaching its high water mark Unless you have explicitly called nConstants.setWriteHandlerType(nConstants.sQueuedWriteHandler), and are therefore using an outbound queue, you will not receive any notifications from this listener.

Parameters
listenerThe asynchronous exception listener to be added
Exceptions
nIllegalArgumentExceptionif the listener is Null of if already has a listener registered
void com.pcbsys.nirvana.client.nSession.addConnectionQueueListener ( nConnectionQueueListener  listener,
boolean  hwm,
boolean  lwm,
boolean  access,
boolean  push,
boolean  block,
boolean  unblock 
) throws nIllegalArgumentException

Adds a new connection queue listener, which will be notified when the internal outbound queue reaches defined limits, such as Reaching high water mark Reaching low water mark Exceeding the time it should take to access the queue object Exceeding the time it should take to push an event onto the queue Exceeding the time for a queue to be blocked due to reaching its high water mark Unless you have explicitly called nConstants.setWriteHandlerType(nConstants.sQueuedWriteHandler), and are therefore using an outbound queue, you will not receive any notifications from this listener.

Parameters
listenerThe asynchronous exception listener to be added
hwmtrue to receive notifications of reaching queue high water mark
lwmtrue to receive notifications of reaching queue low water mark
accesstrue to receive notification of exceeeding queue access time
pushtrue to receive notification of exceeeding queue access and push time
blocktrue to receive notification of exceeeding queue block time
Exceptions
nIllegalArgumentExceptionif the listener is Null of if already has a listener registered

Adds (Joins) another realm to the realm this session is connected to.

Parameters
newRealmThe realm to join as an nRealm object
Exceptions
nRealmAlreadyBoundExceptionThe realm is known by the server
nRealmNotFoundExceptionThe realm is not known by the server
nRealmUnreachableExceptionThe specified realm is already configured
nSecurityExceptionUser is not authorised for the function
nSessionNotConnectedExceptionCurrent session is not connected
nUnexpectedResponseExceptionInternal Error has occured, since we received a response from the server out of sequence
nRequestTimedOutExceptionThe server has not responded to the request in the timeout period
nIllegalArgumentExceptionIllegal parameter, check the message for more information
nNameSpaceConflictExceptionThe realm conflicts with the existing namespace
nSessionPausedExceptionThe session is currently paused, please resume

Adds (Joins) another realm to the realm this session is connected to.

Parameters
newRealmThe realm to join as an nRealm object
sessionA session to the realm we want to add to
Exceptions
nRealmAlreadyBoundExceptionThe realm is known by the server
nRealmUnreachableExceptionThe specified realm is already configured
nRealmNotFoundExceptionThe realm is not known by the server
nSecurityExceptionUser is not authorised for the function
nSessionNotConnectedExceptionCurrent session is not connected
nUnexpectedResponseExceptionInternal Error has occured, since we received a response from the server out of sequence
nRequestTimedOutExceptionThe server has not responded to the request in the timeout period
nIllegalArgumentExceptionIllegal parameter, check the message for more information
nNameSpaceConflictExceptionThe realm conflicts with the existing namespace
nSessionPausedExceptionThe session is currently paused, please resume
void com.pcbsys.nirvana.client.nSession.addReconnectHandler ( nReconnectHandler  handler)

Add a session reconnect handler to the session.

Usually the handler is passed in when the session is constructed from the nSessionFactory, however this method allows you to pass in a handler once a session has been constructed.

Parameters
handler- the nReconnectHandler object for this session
void com.pcbsys.nirvana.client.nSession.commitRegisteredEventsToDataGroups ( nRegisteredEvent[]  events) throws nSecurityException, nSessionPausedException, nIllegalArgumentException, nSessionNotConnectedException, nRequestTimedOutException, nUnexpectedResponseException, nMaxBufferSizeExceededException

Commit all registered event changes in a single call to the server.

Parameters
eventsthe registered events that have changed
Exceptions
nSecurityException
nSessionPausedException
nIllegalArgumentException
nSessionNotConnectedException
nRequestTimedOutException
nUnexpectedResponseException
nMaxBufferSizeExceededExceptionis thrown when elements of the event being sent exceed the connection's max buffer size
void com.pcbsys.nirvana.client.nSession.commitRegisteredEventsToDataGroups ( nRegisteredEvent[]  events,
boolean  replace 
) throws nSecurityException, nSessionPausedException, nIllegalArgumentException, nSessionNotConnectedException, nRequestTimedOutException, nUnexpectedResponseException, nMaxBufferSizeExceededException

Commit all registered event changes in a single call to the server.

Parameters
eventsthe registered events that have changed
replaceoverride the event on the server
Exceptions
nSecurityException
nSessionPausedException
nIllegalArgumentException
nSessionNotConnectedException
nRequestTimedOutException
nUnexpectedResponseException
nMaxBufferSizeExceededExceptionis thrown when elements of the event being sent exceed the connection's max buffer size

Creates new channels on the realm this session is connected.

Parameters
attrThe channel attributes array containing the new channel or queue attributes
Returns
an nCreateResult array representing the newly created nirvana channels or queues or exceptions
Exceptions
nUnknownRemoteRealmExceptionThe remote realm responded with an unknown exception
nSecurityExceptionUser is not authorised for the function
nChannelAlreadyExistsExceptionThe channel already exists
nSessionNotConnectedExceptionCurrent session is not connected
nUnexpectedResponseExceptionInternal Error has occured, since we received a response from the server out of sequence
nRequestTimedOutExceptionThe server has not responded to the request in the timeout period
nIllegalArgumentExceptionIllegal parameter, check the message for more information
nSessionPausedExceptionThe session is currently paused, please resume

Creates a new channel on the realm this session is connected.

If the channel attributes specify a realm different than the one this session is connected to, a transparent redirection will occur and the channel will be created on that realm.

Parameters
attrThe channel attributes object containing the parameters for the new channel to be created
Returns
an nChannel object representing the newly created nirvana channel
Exceptions
nUnknownRemoteRealmExceptionThe remote node responded with an unknown exception
nSecurityExceptionUser is not authorised for the function
nChannelAlreadyExistsExceptionThe requested channel already exists
nSessionNotConnectedExceptionCurrent session is not connected
nUnexpectedResponseExceptionInternal Error has occured, since we received a response from the server out of sequence
nRequestTimedOutExceptionThe server has not responded to the request in the timeout period
nIllegalArgumentExceptionIllegal parameter, check the message for more information
nSessionPausedExceptionThe session is currently paused, please resume

Creates a new channel on the realm this session is connected.

If the channel attributes specify a realm different than the one this session is connected to, a transparent redirection will occur and the channel will be created on that realm.

Parameters
attrThe channel attributes object containing the parameters for the new channel to be created @ param initialEID The channel will be created with the first eid being set to this value by default it is set to 0 but the user can set it to any positive value
p_initialEIDThe value to start the event id at
Returns
an nChannel object representing the newly created nirvana channel
Exceptions
nUnknownRemoteRealmExceptionThe remote realm responded with an unknown exception
nSecurityExceptionUser is not authorised for the function
nChannelAlreadyExistsExceptionThe channel already exists
nSessionNotConnectedExceptionCurrent session is not connected
nUnexpectedResponseExceptionInternal Error has occured, since we received a response from the server out of sequence
nRequestTimedOutExceptionThe server has not responded to the request in the timeout period
nIllegalArgumentExceptionIllegal parameter, check the message for more information
nSessionPausedExceptionThe session is currently paused, please resume

Creates a new channel on the realm this session is connected.

If the channel attributes specify a realm different than the one this session is connected to, a transparent redirection will occur and the channel will be created on that realm.

Parameters
attrThe channel attributes object containing the parameters for the new channel to be created @ param initialEID The channel will be created with the first eid being set to this value by default it is set to 0 but the user can set it to any positive value
p_initialEIDThe value to start the event id at
privMaskPrivilege mask to apply to the "everyone" subject for this channel
Returns
an nChannel object representing the newly created nirvana channel
Exceptions
nUnknownRemoteRealmExceptionThe remote realm responded with an unknown exception
nSecurityExceptionUser is not authorised for the function
nChannelAlreadyExistsExceptionThe channel already exists
nSessionNotConnectedExceptionCurrent session is not connected
nUnexpectedResponseExceptionInternal Error has occured, since we received a response from the server out of sequence
nRequestTimedOutExceptionThe server has not responded to the request in the timeout period
nIllegalArgumentExceptionIllegal parameter, check the message for more information
nSessionPausedExceptionThe session is currently paused, please resume

Create a new data group on the server.

If the data group exists already, and the groups have already been retrieved by this nSession the nDataGroup will be returned from the local list of data groups. Otherwise this method will send an event to the server.

Parameters
dataGroupNamethe name of the data group to create
Returns
the data group matching the specified name
Exceptions
nRequestTimedOutException
nSessionPausedException
nSessionNotConnectedException
nSecurityException
nIllegalArgumentException
nUnexpectedResponseException
Since
6.0

Create a new data group on the server.

If the data group exists already, and the groups have already been retrieved by this nSession the nDataGroup will be returned from the local list of data groups. Otherwise this method will send an event to the server.

Parameters
dataGroupNamethe name of the data group to create
listenerthe instance of the nDataGroupListener that will receive the callbacks for this group
Returns
the data group matching the specified name
Exceptions
nRequestTimedOutException
nSessionPausedException
nSessionNotConnectedException
nSecurityException
nUnexpectedResponseException
nIllegalArgumentException
Since
6.0
nDataGroup com.pcbsys.nirvana.client.nSession.createDataGroup ( String  dataGroupName,
nDataGroupListener  listener,
nConflationAttributes  conflationAttributes 
) throws nRequestTimedOutException, nIllegalArgumentException, nSessionPausedException, nSessionNotConnectedException, nSecurityException, nUnexpectedResponseException

Create a new data group on the server.

If the data group exists already, and the groups have already been retrieved by this nSession the nDataGroup will be returned from the local list of data groups. Otherwise this method will send an event to the server.

Parameters
dataGroupNamethe name of the data group to create
listenerthe instance of the nDataGroupListener that will receive the callbacks for this group
conflationAttributesthe conflation strategy to use on the data group
Returns
the data group matching the specified name
Exceptions
nRequestTimedOutException
nSessionPausedException
nSessionNotConnectedException
nSecurityException
nUnexpectedResponseException
nIllegalArgumentException
See Also
nConflationAttributes
Since
6.0
nDataGroup com.pcbsys.nirvana.client.nSession.createDataGroup ( String  dataGroupName,
boolean  enableMulticast 
) throws nIllegalArgumentException, nRequestTimedOutException, nSessionPausedException, nSessionNotConnectedException, nSecurityException, nUnexpectedResponseException

Create a new data group on the server.

If the data group exists already, and the groups have already been retrieved by this nSession the nDataGroup will be returned from the local list of data groups. Otherwise this method will send an event to the server.

Parameters
dataGroupNamethe name of the data group to create
enableMulticastif set then this datagroup will use the servers multicast configuration to deliver events to clients which can receive events via multicast
Returns
the data group matching the specified name
Exceptions
nRequestTimedOutException
nSessionPausedException
nSessionNotConnectedException
nSecurityException
nIllegalArgumentException
nUnexpectedResponseException
Since
7.0
nDataGroup com.pcbsys.nirvana.client.nSession.createDataGroup ( String  dataGroupName,
nDataGroupListener  listener,
boolean  enableMulticast 
) throws nIllegalArgumentException, nRequestTimedOutException, nSessionPausedException, nSessionNotConnectedException, nSecurityException, nUnexpectedResponseException

Create a new data group on the server.

If the data group exists already, and the groups have already been retrieved by this nSession the nDataGroup will be returned from the local list of data groups. Otherwise this method will send an event to the server.

Parameters
dataGroupNamethe name of the data group to create
listenerthe instance of the nDataGroupListener that will receive the callbacks for this group
enableMulticastif set then this datagroup will use the servers multicast configuration to deliver events to clients which can receive events via multicast
Returns
the data group matching the specified name
Exceptions
nRequestTimedOutException
nSessionPausedException
nSessionNotConnectedException
nSecurityException
nUnexpectedResponseException
nIllegalArgumentException
Since
7.0
nDataGroup com.pcbsys.nirvana.client.nSession.createDataGroup ( String  dataGroupName,
nDataGroupListener  listener,
nConflationAttributes  conflationAttributes,
boolean  enableMulticast,
boolean  dropExpiredEvents 
) throws nRequestTimedOutException, nIllegalArgumentException, nSessionPausedException, nSessionNotConnectedException, nSecurityException, nUnexpectedResponseException

Create a new data group on the server.

If the data group exists already, and the groups have already been retrieved by this nSession the nDataGroup will be returned from the local list of data groups. Otherwise this method will send an event to the server.

Parameters
dataGroupNamethe name of the data group to create
listenerthe instance of the nDataGroupListener that will receive the callbacks for this group
conflationAttributesthe conflation strategy to use on the data group
enableMulticastif set then this datagroup will use the servers multicast configuration to deliver events to clients which can receive events via multicast
dropExpiredEventsId the client has events queued on the server and these events are replaced then they will not be sent to the client.
Returns
the data group matching the specified name
Exceptions
nRequestTimedOutException
nSessionPausedException
nSessionNotConnectedException
nSecurityException
nUnexpectedResponseException
nIllegalArgumentException
See Also
nConflationAttributes
Since
7.0
nDataGroup com.pcbsys.nirvana.client.nSession.createDataGroup ( String  dataGroupName,
nDataGroupListener  listener,
nConflationAttributes  conflationAttributes,
boolean  enableMulticast,
boolean  dropExpiredEvents,
int  groupPriority 
) throws nRequestTimedOutException, nIllegalArgumentException, nSessionPausedException, nSessionNotConnectedException, nSecurityException, nUnexpectedResponseException

Create a new data group on the server.

If the data group exists already, and the groups have already been retrieved by this nSession the nDataGroup will be returned from the local list of data groups. Otherwise this method will send an event to the server.

Parameters
dataGroupNamethe name of the data group to create
listenerthe instance of the nDataGroupListener that will receive the callbacks for this group
conflationAttributesthe conflation strategy to use on the data group
enableMulticastif set then this datagroup will use the servers multicast configuration to deliver events to clients which can receive events via multicast
dropExpiredEventsId the client has events queued on the server and these events are replaced then they will not be sent to the client.
groupPrioritya priority to assign to messages delivered through this data group. This value is between 1 and 10, with 10 having the highest priority.
Returns
the data group matching the specified name
Exceptions
nRequestTimedOutException
nSessionPausedException
nSessionNotConnectedException
nSecurityException
nUnexpectedResponseException
nIllegalArgumentException
See Also
nConflationAttributes
Since
7.0

Create new data groups on the server if they don't exist, or return them from the local list if found.

Parameters
dataGroupNamesthe names of the data groups to create
Returns
the array of data groups created / found
Exceptions
nRequestTimedOutException
nSessionPausedException
nSessionNotConnectedException
nSecurityException
nIllegalArgumentException
nUnexpectedResponseException
nDataGroup [] com.pcbsys.nirvana.client.nSession.createDataGroups ( String[]  dataGroupNames,
boolean  enableMulticast 
) throws nIllegalArgumentException, nRequestTimedOutException, nSessionPausedException, nSessionNotConnectedException, nSecurityException, nUnexpectedResponseException

Create new data groups on the server if they don't exist, or return them from the local list if found.

Parameters
dataGroupNamesthe names of the data groups to create
enableMulticastenable multicast delivery on the Data Groups created
Returns
the array of data groups created / found
Exceptions
nRequestTimedOutException
nSessionPausedException
nSessionNotConnectedException
nSecurityException
nIllegalArgumentException
nUnexpectedResponseException
nDataGroup [] com.pcbsys.nirvana.client.nSession.createDataGroups ( String[]  dataGroupNames,
nConflationAttributes  conflationAttributes 
) throws nIllegalArgumentException, nRequestTimedOutException, nSessionPausedException, nSessionNotConnectedException, nSecurityException, nUnexpectedResponseException

Create new data groups on the server if they don't exist, or return them from the local list if found.

Parameters
dataGroupNamesthe names of the data groups to create
conflationAttributesthe conflation strategy to be applied to the data groups
Returns
the array of data groups created / found
Exceptions
nRequestTimedOutException
nSessionPausedException
nSessionNotConnectedException
nSecurityException
nUnexpectedResponseException
nIllegalArgumentException
nDataGroup [] com.pcbsys.nirvana.client.nSession.createDataGroups ( String[]  dataGroupNames,
nConflationAttributes  conflationAttributes,
boolean  enableMulticast 
) throws nIllegalArgumentException, nRequestTimedOutException, nSessionPausedException, nSessionNotConnectedException, nSecurityException, nUnexpectedResponseException

Create new data groups on the server if they don't exist, or return them from the local list if found.

Parameters
dataGroupNamesthe names of the data groups to create
conflationAttributesthe conflation strategy to be applied to the data groups
enableMulticastenable multicast delivery on the Data Groups created
Returns
the array of data groups created / found
Exceptions
nRequestTimedOutException
nSessionPausedException
nSessionNotConnectedException
nSecurityException
nUnexpectedResponseException
nIllegalArgumentException

Creates a new queue on the realm this session is connected.

If the channel attributes specify a realm different than the one this session is connected to, a transparent redirection will occur and the queue will be created on that realm.

Parameters
attrThe channel attributes object containing the parameters for the new queue to be created
privMaskPrivilege mask to apply to the "everyone" subject for this queue
Returns
an nQueue object representing the newly created nirvana queue
Exceptions
nUnknownRemoteRealmExceptionThe remote realm responded with an unknown exception
nSecurityExceptionUser is not authorised for the function
nChannelAlreadyExistsExceptionThe channel already exists
nSessionNotConnectedExceptionCurrent session is not connected
nUnexpectedResponseExceptionInternal Error has occured, since we received a response from the server out of sequence
nRequestTimedOutExceptionThe server has not responded to the request in the timeout period
nIllegalArgumentExceptionIllegal parameter, check the message for more information
nSessionPausedExceptionThe session is currently paused, please resume

Creates a new queue on the realm this session is connected.

If the channel attributes specify a realm different than the one this session is connected to, a transparent redirection will occur and the queue will be created on that realm.

Parameters
attrThe channel attributes object containing the parameters for the new queue to be created
Returns
an nQueue object representing the newly created nirvana queue
Exceptions
nUnknownRemoteRealmExceptionThe remote realm responded with an unknown exception
nSecurityExceptionUser is not authorised for the function
nChannelAlreadyExistsExceptionThe channel already exists
nSessionNotConnectedExceptionCurrent session is not connected
nUnexpectedResponseExceptionInternal Error has occured, since we received a response from the server out of sequence
nRequestTimedOutExceptionThe server has not responded to the request in the timeout period
nIllegalArgumentExceptionIllegal parameter, check the message for more information
nSessionPausedExceptionThe session is currently paused, please resume

Deletes all channels in the array of nChannelAttributes array.

Parameters
attrThe channel attributes array to delete
Returns
an nCreateResult array representing the deleted nirvana channels or queues or exceptions
Exceptions
nUnknownRemoteRealmExceptionThe remote realm responded with an unknown exception
nSecurityExceptionUser is not authorised for the function
nChannelNotFoundExceptionThe channel doesn't exist
nSessionNotConnectedExceptionCurrent session is not connected
nUnexpectedResponseExceptionInternal Error has occurred, since we received a response from the server out of sequence
nRequestTimedOutExceptionThe server has not responded to the request in the timeout period
nIllegalArgumentExceptionIllegal parameter, check the message for more information
nSessionPausedExceptionThe session is currently paused, please resume

Deletes a nirvana channel that exists on the realm this session is connected to, or a joined realm.

Note: all events in that channel will be deleted too and are not recoverable.

Parameters
attrThe channel attributes of the channel to be deleted
Exceptions
nUnknownRemoteRealmExceptionThe remote realm responded with an unknown exception
nSecurityExceptionUser is not authorised for the function
nChannelNotFoundExceptionThe specified channel could not be found
nSessionNotConnectedExceptionCurrent session is not connected
nUnexpectedResponseExceptionInternal Error has occured, since we received a response from the server out of sequence
nRequestTimedOutExceptionThe server has not responded to the request in the timeout period
nIllegalArgumentExceptionIllegal parameter, check the message for more information
nSessionPausedExceptionThe session is currently paused, please resume
void com.pcbsys.nirvana.client.nSession.deleteDataGroup ( String[]  dataGroupNames) throws nIllegalArgumentException, nRequestTimedOutException, nSessionPausedException, nSessionNotConnectedException, nSecurityException, nUnexpectedResponseException

Deletes the specified data group from the server.

Parameters
dataGroupNamesarray of data group names to be deleted
Exceptions
nRequestTimedOutException
nSessionPausedException
nSessionNotConnectedException
nSecurityException
nIllegalArgumentException
nUnexpectedResponseException
Since
6.0
void com.pcbsys.nirvana.client.nSession.deleteDataGroup ( String  dataGroupName) throws nIllegalArgumentException, nRequestTimedOutException, nSessionPausedException, nSessionNotConnectedException, nSecurityException, nUnexpectedResponseException

Deletes the specified data group from the server.

Parameters
dataGroupNamethe name of the data group to delete
Exceptions
nRequestTimedOutException
nSessionPausedException
nSessionNotConnectedException
nSecurityException
nIllegalArgumentException
nUnexpectedResponseException
Since
6.0

Deletes the specified data group from the server.

Parameters
groupthe data group to delete
Exceptions
nRequestTimedOutException
nSessionPausedException
nSessionNotConnectedException
nSecurityException
nUnexpectedResponseException
Since
6.0

Deletes the specified data group from the server.

Parameters
groupsthe data groups to delete
Exceptions
nRequestTimedOutException
nSessionPausedException
nSessionNotConnectedException
nSecurityException
nUnexpectedResponseException
Since
6.0

Deletes a nirvana queue that exists on the realm this session is connected to, or a joined realm.

Note: all events in that queue will be deleted too and are not recoverable.

Parameters
attrThe channel attributes of the queue to be deleted
Exceptions
nUnknownRemoteRealmExceptionThe remote realm responded with an unknown exception
nSecurityExceptionUser is not authorised for the function
nChannelNotFoundExceptionThe specified channel could not be found
nSessionNotConnectedExceptionCurrent session is not connected
nUnexpectedResponseExceptionInternal Error has occured, since we received a response from the server out of sequence
nRequestTimedOutExceptionThe server has not responded to the request in the timeout period
nIllegalArgumentExceptionIllegal parameter, check the message for more information
nSessionPausedExceptionThe session is currently paused, please resume

Deletes (unjoins) another realm from the realm this session is connected to.

Parameters
aRealmThe realm to unjoin as an nRealm object
Exceptions
nRealmNotFoundExceptionThe supplied realm could not be found on the server
nSecurityExceptionUser is not authorised for the function
nSessionNotConnectedExceptionCurrent session is not connected
nUnexpectedResponseExceptionInternal Error has occured, since we received a response from the server out of sequence
nRequestTimedOutExceptionThe server has not responded to the request in the timeout period
nIllegalArgumentExceptionIllegal parameter, check the message for more information
nSessionPausedExceptionThe session is currently paused, please resume
synchronized void com.pcbsys.nirvana.client.nSession.enableThreading ( int  poolSize)

Enables thread pooling for this session.

By default the session is configured with only one thread which performs all tasks for this session including event callbacks. If in the user logic of the nEventListener.go() a method is called on the session the session will automatically enable thread pooling.

Parameters
poolSizeNumber of threads to use within the pool. By default it is 1
synchronized void com.pcbsys.nirvana.client.nSession.enableThreading ( )

Calling this function starts the internal thread pools.

These pools handle the asynchronous events received as part of a subscribed channel or other such events.

synchronized void com.pcbsys.nirvana.client.nSession.enableThreading ( boolean  enabled)

Calling this function starts the internal thread pools.

These pools handle the asynchronous events received as part of a subscribed channel or other such events.

Parameters
enabledspecifies if callbacks should use a thread pool or not

Finds and returns an array of nFindResult objects that correspond to the results of the find operations on each nChannelAttributes.

Parameters
attrThe channel attributes of the channels / queues to be found
Returns
The nFindResult array that represents the result of the find call
Exceptions
nUnknownRemoteRealmExceptionThe remote realm responded with an unknown exception
nSecurityExceptionUser is not authorised for the function
nSessionNotConnectedExceptionCurrent session is not connected
nUnexpectedResponseExceptionInternal Error has occured, since we received a response from the server out of sequence
nRequestTimedOutExceptionThe server has not responded to the request in the timeout period
nIllegalArgumentExceptionIllegal parameter, check the message for more information
nSessionPausedExceptionThe session is currently paused, please resume

Finds and returns a nirvana channel that exists on the realm this session is connected to, or a joined realm.

Parameters
attrThe channel attributes of the channel to be found
Returns
The nChannel object if it was found
Exceptions
nChannelNotFoundExceptionThe channel specified could not be found
nUnknownRemoteRealmExceptionThe remote realm responded with an unknown exception
nSecurityExceptionUser is not authorised for the function
nSessionNotConnectedExceptionCurrent session is not connected
nUnexpectedResponseExceptionInternal Error has occured, since we received a response from the server out of sequence
nRequestTimedOutExceptionThe server has not responded to the request in the timeout period
nIllegalArgumentExceptionIllegal parameter, check the message for more information
nIllegalChannelModeThe channel referenced is a queue
nSessionPausedExceptionThe session is currently paused, please resume

Finds and returns a nirvana queue that exists on the realm this session is connected to, or a joined realm.

Parameters
attrThe channel attributes of the queue to be found
Returns
The nChannel object if it was found.
Exceptions
nChannelNotFoundExceptionThe specified queue could not be found
nUnknownRemoteRealmExceptionThe remote realm responded with an unknown exception
nSecurityExceptionUser is not authorised for the function
nSessionNotConnectedExceptionCurrent session is not connected
nUnexpectedResponseExceptionInternal Error has occured, since we received a response from the server out of sequence
nRequestTimedOutExceptionThe server has not responded to the request in the timeout period
nIllegalArgumentExceptionIllegal parameter, check the message for more information
nIllegalChannelModeThe queue referenced is a channel
nSessionPausedExceptionThe session is currently paused, please resume
String com.pcbsys.nirvana.client.nSession.get3rdPartyCookie ( ) throws nSessionNotConnectedException

Returns any 3rd party cookies that may have been honoured.

Returns
String value of all 3rd party cookies honoured
Exceptions
nSessionNotConnectedExceptionCurrent session is not connected
nSessionAttributes com.pcbsys.nirvana.client.nSession.getAttrib ( )

Gets the session attribute object associated with this session.

Returns
the nSessionAttributes object associated with this session
Deprecated:
As of version 2.0. Use getAttributes() instead
nSessionAttributes com.pcbsys.nirvana.client.nSession.getAttributes ( )

Gets the session attribute object associated with this session.

Returns
the nSessionAttributes object associated with this session
boolean com.pcbsys.nirvana.client.nSession.getChannelMultiplexing ( )

Returns true if channel multiplexing has been enabled or not.

Returns a list of all known channels and queues.

Returns
An nChannelAttributes array object refering to the channels, or null if no channels are defined
Exceptions
nSecurityExceptionUser is not authorised for the function
nSessionNotConnectedExceptionCurrent session is not connected
nUnexpectedResponseExceptionInternal Error has occured, since we received a response from the server out of sequence
nRequestTimedOutExceptionThe server has not responded to the request in the timeout period
nSessionPausedExceptionThe session is currently paused, please resume

Returns a list of all known channels and queues.

Parameters
folderspecify the starting point in the namespace within which to retrieve the channels
Returns
An nChannelAttributes array object refering to the channels, or null if no channels are defined
Exceptions
nSecurityExceptionUser is not authorised for the function
nSessionNotConnectedExceptionCurrent session is not connected
nUnexpectedResponseExceptionInternal Error has occured, since we received a response from the server out of sequence
nRequestTimedOutExceptionThe server has not responded to the request in the timeout period
nSessionPausedExceptionThe session is currently paused, please resume
String com.pcbsys.nirvana.client.nSession.getConnectionList ( )

Returns a comma seperated list of RNAMEs which can be used to access the realm or cluster namespace.

This value is calculated and updated by the server which this session is currently connected to.

Returns
Comma seperated list of rnames which can be used to construct a nSessionAttributes.
int com.pcbsys.nirvana.client.nSession.getCurrentLatency ( )

Returns the round trip time of the last synchronous request that was made.

Returns
the current round trip time

Return the array of nDataGroup objects excluding the default data group.

Returns
the data group array
Exceptions
nRequestTimedOutException
nSessionPausedException
nSessionNotConnectedException
nSecurityException
nUnexpectedResponseException
nDataGroup [] com.pcbsys.nirvana.client.nSession.getDataGroups ( String  prefix) throws nRequestTimedOutException, nSessionPausedException, nSessionNotConnectedException, nSecurityException, nUnexpectedResponseException

Return the array of nDataGroup objects excluding the default data group that match a specific prefix.

Parameters
prefixa string prefix to match against existing data groups, only those matching will be returned
Returns
the data group array
Exceptions
nRequestTimedOutException
nSessionPausedException
nSessionNotConnectedException
nSecurityException
nUnexpectedResponseException

Get all known data groups on the server (excluding the default data group) and register a listener.

The listener will receive callbacks whenever a stream or group is created/deleted or added/removed from a group.

Parameters
listenerthe instance of the nDataGroupListener that will receive callbacks for all known data groups including the default
Returns
the data group array
Exceptions
nRequestTimedOutException
nSessionPausedException
nSessionNotConnectedException
nSecurityException
nUnexpectedResponseException
nDataGroup [] com.pcbsys.nirvana.client.nSession.getDataGroups ( String  prefix,
nDataGroupListener  listener 
) throws nRequestTimedOutException, nSessionPausedException, nSessionNotConnectedException, nSecurityException, nUnexpectedResponseException

Get all known data groups on the server (excluding the default data group) that match a specific prefix, and register a listener against them.

The listener will receive callbacks whenever a stream or group is created/deleted or added/removed from a group.

Parameters
listenerthe instance of the nDataGroupListener that will receive callbacks for all known data groups including the default
prefixa string prefix to match against existing data groups, only those matching will be returned
Returns
the data group array
Exceptions
nRequestTimedOutException
nSessionPausedException
nSessionNotConnectedException
nSecurityException
nUnexpectedResponseException

Return the default nDataGroup object, and provide a listener that will receive callbacks when new streams or groups are added or removed.

Parameters
listenerthe instance of the nDataGroupListener that will receive the callbacks to the default group
Returns
the default data group
Exceptions
nRequestTimedOutException
nSessionPausedException
nSessionNotConnectedException
nSecurityException
nUnexpectedResponseException
nDataGroup [] com.pcbsys.nirvana.client.nSession.getGroupsContaining ( nDataGroup  group)
protected

Locate the groups that currently contain this group.

Parameters
groupthe group to check
Returns
an array of nDataGroup objects containing the group
String com.pcbsys.nirvana.client.nSession.getId ( ) throws nSessionNotConnectedException

Returns the unique session Id for this session.

Returns
String representation of this ID
Exceptions
nSessionNotConnectedExceptionCurrent session is not connected
long com.pcbsys.nirvana.client.nSession.getInputByteCount ( )

Returns the number of bytes received from the server on this session object.

Returns
long byte count
int com.pcbsys.nirvana.client.nSession.getKnownGroupCount ( )

Get the size of the known data groups list.

Returns
the current size of the data groups list
int com.pcbsys.nirvana.client.nSession.getLocalPort ( )
protected

Return the current port this session is connected to.

Returns
will return a 0 if the current driver is null
static int com.pcbsys.nirvana.client.nSession.getMaxBufferSize ( )
static

Gets the maximum client buffer size.

The default value is 1 MB

Returns
an int specifying the current maximum client buffer size
Deprecated:
since 9.10
long com.pcbsys.nirvana.client.nSession.getOutputByteCount ( )

Returns the number of bytes sent to the server using this session object.

Returns
long byte count
long com.pcbsys.nirvana.client.nSession.getQueueSize ( )

Returns the outbound connection queue size.

Returns
the size of the queue

Gets a reference to a realm that is already joined.

Parameters
nameA string specifying the name of the realm to be returned
Returns
An nRealm object refering to the realm, or null if no realm with that name is found
Exceptions
nRealmNotFoundExceptionThe realm name supplied could not be found on the server
nSecurityExceptionUser is not authorised for the function
nSessionNotConnectedExceptionCurrent session is not connected
nUnexpectedResponseExceptionInternal Error has occured, since we received a response from the server out of sequence
nRequestTimedOutExceptionThe server has not responded to the request in the timeout period
nIllegalArgumentExceptionIllegal parameter, check the message for more information
nSessionPausedExceptionThe session is currently paused, please resume

Returns a list of all known realms on the connected realm.

Returns
An nRealm array object refering to the realm, or null if no realms are defined
Exceptions
nSecurityExceptionUser is not authorised for the function
nSessionNotConnectedExceptionCurrent session is not connected
nUnexpectedResponseExceptionInternal Error has occured, since we received a response from the server out of sequence
nRequestTimedOutExceptionThe server has not responded to the request in the timeout period
nIllegalArgumentExceptionIllegal parameter, check the message for more information
nSessionPausedExceptionThe session is currently paused, please resume

Returns a list of all known realms on the connected realm.

Returns
An nRealm array object refering to the realm, or null if no realms are defined
Exceptions
nSecurityExceptionUser is not authorised for the function
nSessionNotConnectedExceptionCurrent session is not connected
nUnexpectedResponseExceptionInternal Error has occured, since we received a response from the server out of sequence
nRequestTimedOutExceptionThe server has not responded to the request in the timeout period
nIllegalArgumentExceptionIllegal parameter, check the message for more information
nSessionPausedExceptionThe session is currently paused, please resume
long com.pcbsys.nirvana.client.nSession.getReceivedEventCount ( )

Return the number of events received by this session.

Returns
the number of sent received
String com.pcbsys.nirvana.client.nSession.getRemoteId ( ) throws nSessionNotConnectedException

Returns the rname that this session has used.

Returns
String representation of the rname
Exceptions
nSessionNotConnectedExceptionCurrent session is not connected
long com.pcbsys.nirvana.client.nSession.getSentEventCount ( )

Return the number of events sent by this session.

Returns
the number of sent events
int com.pcbsys.nirvana.client.nSession.getServerMaxBufferSize ( )

Gets the maximum client buffer size.

The default value is 1 MB

Returns
an int specifying the current maximum client buffer size
String com.pcbsys.nirvana.client.nSession.getServerRealmName ( ) throws nSessionNotConnectedException

Returns the sessions server realm name.

Returns
Realm Server name
Exceptions
nSessionNotConnectedExceptionIf the session is not currently connected with the server

Gets the current time on the server.

Returns
The current time on the Realm Server as a long value
Exceptions
nSecurityExceptionUser is not authorised for the function
nSessionNotConnectedExceptionCurrent session is not connected
nUnexpectedResponseExceptionInternal Error has occured, since we received a response from the server out of sequence
nRequestTimedOutExceptionThe server has not responded to the request in the timeout period
nSessionPausedExceptionThe session is currently paused, please resume
long com.pcbsys.nirvana.client.nSession.getSessionConnectionId ( )

Returns the unique connection id associated with this session by the server.

Returns
the server's connection id for this nSession
String com.pcbsys.nirvana.client.nSession.getStreamId ( )

Get the stream Id for this session if initialised with an nDataStreamListener.

Returns
a string representation of the stream id
nSubject [] com.pcbsys.nirvana.client.nSession.getSubject ( ) throws nSessionNotConnectedException

Gets the subject associated with this nirvana session.

Returns
an nSubject[] object with the subject details associated with the session
Exceptions
nSessionNotConnectedExceptionIf the session is not currently connected with the server
nSubject com.pcbsys.nirvana.client.nSession.getSubjectObject ( ) throws nSessionNotConnectedException

Gets the subject associated with this nirvana session.

Returns
an nSubject object with the subject details associated with the session
Exceptions
nSessionNotConnectedExceptionIf the session is not currently connected with the server
int com.pcbsys.nirvana.client.nSession.getThreadPoolSize ( )

Returns the current configured thread pool size.

Returns
int pool size
String com.pcbsys.nirvana.client.nSession.getUsername ( )

Gets the username associated with this nirvana session.

Returns
the username

If the realm this session is connected to is part of a cluster then this function will return whether the cluster has Quorum according to the connected realm.

Returns
true if the connected to realm & the cluster has quorum

Initialises a session object, opening the physical connection to the server.

Exceptions
nRealmUnreachableExceptionif the realm is currently not available
nSessionNotConnectedExceptionCurrent session is not connected
nSessionAlreadyInitialisedExceptionThe session has already been initialised
nSecurityExceptionInsufficient privileges
void com.pcbsys.nirvana.client.nSession.init ( boolean  disconnectIfClusterFails) throws nRealmUnreachableException, nSecurityException, nSessionNotConnectedException, nSessionAlreadyInitialisedException

Initialises a session object, opening the physical connection to the server.

Parameters
disconnectIfClusterFails- if the cluster loses quorum, should this nSession become disconnected (true/false)
Exceptions
nRealmUnreachableExceptionif the realm is currently not available
nSessionNotConnectedExceptionCurrent session is not connected
nSessionAlreadyInitialisedExceptionThe session has already been initialised
nSecurityExceptionInsufficient privileges
Since
4.0

Initialises a session object, opening the physical connection to the server and supplies a nDataStreamListener to receive asynchronous direct events.

Parameters
streamListener- a stream listener to receive asynchronous events
Exceptions
nRealmUnreachableExceptionif the realm is currently not available
nSessionNotConnectedExceptionCurrent session is not connected
nSessionAlreadyInitialisedExceptionThe session has already been initialised
nSecurityExceptionInsufficient privileges
Since
6.0
nDataStream com.pcbsys.nirvana.client.nSession.init ( boolean  disconnectIfClusterFails,
nDataStreamListener  streamListener 
) throws nRealmUnreachableException, nSecurityException, nSessionNotConnectedException, nSessionAlreadyInitialisedException

Initialises a session object, opening the physical connection to the server and supplies a nDataStreamListener to receive asynchronous direct events.

Parameters
disconnectIfClusterFails- if the cluster loses quorum, should this nSession become disconnected (true/false)
streamListener- a stream listener to receive asynchronous events
Exceptions
nRealmUnreachableExceptionif the realm is currently not available
nSessionNotConnectedExceptionCurrent session is not connected
nSessionAlreadyInitialisedExceptionThe session has already been initialised
nSecurityExceptionInsufficient privileges
Since
6.0
boolean com.pcbsys.nirvana.client.nSession.isConnected ( )

Returns true if this session is still connected with the remote realm.

Returns
result of the test
boolean com.pcbsys.nirvana.client.nSession.isConnectionVirtual ( )

Queries the underlying connection of this session to establish if it is a virtual connection or not.

Returns
true if this is a virtual connection, false otherwise.
boolean com.pcbsys.nirvana.client.nSession.isMaxBufferSizeClientCheck ( )

Returns whether the elements of the events being sent should be checked against the max buffer size.

Returns
a boolean indicating whether events should be checked
boolean com.pcbsys.nirvana.client.nSession.isMemberOfCluster ( )

If the realm this session is connected to is part of a cluster then this function will return true.

Returns
true if part of a cluster
boolean com.pcbsys.nirvana.client.nSession.isPaused ( )

Returns true if this session is paused.

Returns
result of the test
synchronized void com.pcbsys.nirvana.client.nSession.pause ( boolean  releaseRequests)

This function pauses delivery of new events to all subscribed nEventListeners until resume is called.

Parameters
releaseRequestsspecifies whether to release any outstanding synchronous requests awaiting responses from the server
synchronized void com.pcbsys.nirvana.client.nSession.pauseStream ( ) throws Exception

Pause the events being received by the Data Group Listener.

This is not currently implemented

Exceptions
Exception
Since
6.0
void com.pcbsys.nirvana.client.nSession.registerExtensionCallback ( nServerExtensionCallback  callback)
protected

Used to register for listening to embedded API events.

Parameters
callbackembedded events
void com.pcbsys.nirvana.client.nSession.removeAsyncExceptionListener ( nAsyncExceptionListener  listener) throws nIllegalArgumentException

Removes an already added asynchronous exception listener, which will not be notified of asynchronous exceptions anymore.

Parameters
listenerThe asynchronous exception listener to be added
Exceptions
nIllegalArgumentExceptionIllegal parameter, check the message for more information
void com.pcbsys.nirvana.client.nSession.removeConnectionQueueListener ( nConnectionQueueListener  listener) throws nIllegalArgumentException

Removes an already added connection queue listener, which will not be notified of queue state changes anymore.

Parameters
listenerThe asynchronous exception listener to be added
Exceptions
nIllegalArgumentExceptionif the listener is Null of if no listener registered
void com.pcbsys.nirvana.client.nSession.removeReconnectHandler ( nReconnectHandler  handler)

Remove the reconnect handler from the session.

Parameters
handler- the reconnect handler to be removed
synchronized void com.pcbsys.nirvana.client.nSession.resumeStream ( ) throws Exception

Resumes the events being received by the Data Group Listener.

This is not curently implemented

Exceptions
Exception
Since
6.0
nChannel com.pcbsys.nirvana.client.nSession.returnCachedChannelOrConstruct ( com.pcbsys.nirvana.base.nChannelAttributes  ca) throws nIllegalChannelMode, nIllegalArgumentException
protected

This function is only used by nAdminSession and could be refactored there with some careful thought.

Parameters
cathe channel attributes to use
Returns
the new nChannel
Exceptions
Exception
nQueue com.pcbsys.nirvana.client.nSession.returnCachedQueueOrConstruct ( com.pcbsys.nirvana.base.nChannelAttributes  ca) throws nIllegalChannelMode, nIllegalArgumentException
protected

This function is only used by nAdminSession and could be refactored there with some careful thought.

Parameters
cathe queue attributes to use
Returns
the new nQueue
void com.pcbsys.nirvana.client.nSession.setAdditionalPrincipals ( String[]  principals)

Enable the nSession subject to contain multiple principals which can be used for subject based filtering.

Parameters
principalsthe list of additional principals associated with this nSession subject
void com.pcbsys.nirvana.client.nSession.setChannelMultiplexing ( boolean  flag) throws nSessionAlreadyInitialisedException

Enables or disables the ability to add multiple subscriptions on a channel, by default it is enabled.

This must be called prior to calling session init

Parameters
flagBoolean flag to enable/disable
Exceptions
nSessionAlreadyInitialisedException
void com.pcbsys.nirvana.client.nSession.setHTTPURLParameter ( String  param)

Allows the HTTP communication between the client and the realm to include an optional parameter that can be analysed by load balance servers or proxies.

Parameters
paramParameter in the form of : ?param
static void com.pcbsys.nirvana.client.nSession.setMaxBufferSize ( int  size) throws nIllegalArgumentException
static

Sets the maximum client buffer size.

The default value is 1 MB

Parameters
sizean int specifying the new maximum client buffer size
Exceptions
nIllegalArgumentExceptionIllegal parameter, check the message for more information
Deprecated:
since 9.10
void com.pcbsys.nirvana.client.nSession.setReadThreadAsDaemon ( boolean  isDaemon)

Each Nirvana nSession has a dedicated thread used to synchronously read from the underlying transport.

This thread is set as non-daemon thread by default. This is to ensure that on program exit, or Main thread exit, callstacks are correctly unwound. Setting the read thread to be a daemon thread may cause your program to prematurely exit when all other non-daemon threads exit. This method should be used with extreme care.

Parameters
isDaemonspecifies whether to set the read thread as a daemon
void com.pcbsys.nirvana.client.nSession.setThreadPoolSize ( int  size)

Changes the current size of the thread pool to the size passed.

Parameters
sizeNew size of the thread pool
nSubscriptionAttributes [] com.pcbsys.nirvana.client.nSession.subscribe ( nSubscriptionAttributes[]  attributes) throws Exception

Subscribe to the channels specified within the nSubscriptionAttributes array.

Parameters
attributes- the details of each channel subscription
Returns
the response from the server will be either an Exception or an nChannel within each subscription attributes object
Exceptions
Exceptionif the server encounters any problem during this operation
nIllegalArgumentExceptionif attributes contains a illegal value
See Also
nSubscriptionAttributes
void com.pcbsys.nirvana.client.nSession.unblockThread ( String  name)

Unblocks the thread of the given name that my be in a synchronous call.

Parameters
namethe name of the thread
void com.pcbsys.nirvana.client.nSession.write ( nConsumeEvent  event,
nAbstractChannel[]  destinations 
) throws nSecurityException, nRequestTimedOutException, nSessionPausedException, nSessionNotConnectedException, nMaxBufferSizeExceededException

Sends the event to the specified channel / queue.

Parameters
eventthe event to write to the streams
destinationsthe array of channels / queues to write to
Exceptions
nSecurityException
nRequestTimedOutException
nSessionPausedException
nSessionNotConnectedException
nMaxBufferSizeExceededExceptionis thrown when elements of the event being sent exceed the connection's max buffer size
Since
6.0
void com.pcbsys.nirvana.client.nSession.write ( nConsumeEvent[]  events,
nAbstractChannel  destination 
) throws nSecurityException, nRequestTimedOutException, nSessionPausedException, nSessionNotConnectedException, nMaxBufferSizeExceededException

Sends the events to the specified channel / queue.

Parameters
eventsthe array of events to write to the channel
destinationthe stream to write to
Exceptions
nSecurityException
nRequestTimedOutException
nSessionPausedException
nSessionNotConnectedException
nMaxBufferSizeExceededExceptionis thrown when elements of the event being sent exceed the connection's max buffer size
Since
6.0
void com.pcbsys.nirvana.client.nSession.write ( nConsumeEvent[]  events,
nAbstractChannel[]  destinations 
) throws nSecurityException, nRequestTimedOutException, nSessionPausedException, nSessionNotConnectedException, nMaxBufferSizeExceededException

Sends the events to the specified channels / queues.

Parameters
eventsthe array of events to write to the channels / queues
destinationsthe array of channels / queues to write to
Exceptions
nSecurityException
nRequestTimedOutException
nSessionPausedException
nSessionNotConnectedException
nMaxBufferSizeExceededExceptionis thrown when elements of the event being sent exceed the connection's max buffer size
Since
6.0
void com.pcbsys.nirvana.client.nSession.write ( nConsumeEvent[]  evts,
nAbstractChannel[]  destinations,
boolean  waitForReply 
) throws nSecurityException, nRequestTimedOutException, nSessionPausedException, nSessionNotConnectedException, nMaxBufferSizeExceededException

Sends the events to the specified channels / queues.

Parameters
evtsthe array of events to write to the channels / queues
destinationsthe array of channels / queues to write to
waitForReplyif true then the method will not return until it receives a response from the server
Exceptions
nSecurityException
nRequestTimedOutException
nSessionPausedException
nSessionNotConnectedException
nMaxBufferSizeExceededExceptionis thrown when elements of the event being sent exceed the connection's max buffer size
Since
6.0
void com.pcbsys.nirvana.client.nSession.write ( nConsumeEvent  evts,
nAbstractChannel[]  destinations,
boolean  waitForReply 
) throws nSecurityException, nRequestTimedOutException, nSessionPausedException, nSessionNotConnectedException, nMaxBufferSizeExceededException

Sends the event to the specified channels / queues.

Parameters
evtsthe event to write to the channels / queues
destinationsthe array of channels / queues to write to
waitForReplyif true then the method will not return until it receives a response from the server
Exceptions
nSecurityException
nRequestTimedOutException
nSessionPausedException
nSessionNotConnectedException
nMaxBufferSizeExceededExceptionis thrown when elements of the event being sent exceed the connection's max buffer size
Since
6.0
void com.pcbsys.nirvana.client.nSession.write ( nConsumeEvent[]  evts,
nAbstractChannel  destination,
boolean  waitForReply 
) throws nSecurityException, nRequestTimedOutException, nSessionPausedException, nSessionNotConnectedException, nMaxBufferSizeExceededException

Sends the events to the specified channels / queues.

Parameters
evtsthe array of events to write to the channel / queue
destinationthe channel / queue to write to
waitForReplyif true then the method will not return until it receives a response from the server
Exceptions
nSecurityException
nRequestTimedOutException
nSessionPausedException
nSessionNotConnectedException
nMaxBufferSizeExceededExceptionis thrown when elements of the event being sent exceed the connection's max buffer size
Since
6.0
void com.pcbsys.nirvana.client.nSession.write ( nConsumeEvent  evt,
nAbstractChannel  destination,
boolean  waitForReply 
) throws nSecurityException, nRequestTimedOutException, nSessionPausedException, nSessionNotConnectedException, nMaxBufferSizeExceededException

Sends the event to the specified channel / queue.

Parameters
evtthe event to write to the channel / queue
destinationthe channel / queue to write to
waitForReplyif true then the method will not return until it receives a response from the server
Exceptions
nSecurityException
nRequestTimedOutException
nSessionPausedException
nSessionNotConnectedException
nMaxBufferSizeExceededExceptionis thrown when elements of the event being sent exceed the connection's max buffer size
Since
6.0
void com.pcbsys.nirvana.client.nSession.write ( Map< nConsumeEvent, nAbstractChannel list,
boolean  waitForResponse 
) throws nSecurityException, nRequestTimedOutException, nSessionPausedException, nSessionNotConnectedException, nMaxBufferSizeExceededException

Sends each event in the list to its corresponding channel / queue.

Parameters
list<key,value> list of nConsumeEvent and channel / queue
waitForResponseif true then the method will not return until it receives a response from the server
Exceptions
nMaxBufferSizeExceededExceptionis thrown when elements of the event being sent exceed the connection's max buffer size
void com.pcbsys.nirvana.client.nSession.write ( Map< nConsumeEvent, nAbstractChannel list,
boolean  waitForResponse,
boolean  isRegisteredEvent 
) throws nSecurityException, nRequestTimedOutException, nSessionPausedException, nSessionNotConnectedException, nMaxBufferSizeExceededException
protected

Sends each event in the list to its corresponding channel / queue.

Parameters
list<key,value> list of nConsumeEvent and data groups
waitForResponseif true then the method will not return until it receives a response from the server
isRegisteredEventif this is true, the events will be handled as a list of nRegisteredEvents
Exceptions
nMaxBufferSizeExceededExceptionis thrown when elements of the event being sent exceed the connection's max buffer size
void com.pcbsys.nirvana.client.nSession.writeDataGroup ( nConsumeEvent  evt,
nDataGroup  dataGroup 
) throws nSecurityException, nRequestTimedOutException, nSessionPausedException, nSessionNotConnectedException, nMaxBufferSizeExceededException

Sends the event to the specified data group.

Parameters
evtthe event to write to the data group
dataGroupthe data group to write to
Exceptions
nSecurityException
nRequestTimedOutException
nSessionPausedException
nSessionNotConnectedException
nMaxBufferSizeExceededExceptionis thrown when elements of the event being sent exceed the connection's max buffer size
Since
6.0
void com.pcbsys.nirvana.client.nSession.writeDataGroup ( nConsumeEvent  evt,
nDataGroup[]  dataGroups 
) throws nSecurityException, nRequestTimedOutException, nSessionPausedException, nSessionNotConnectedException, nMaxBufferSizeExceededException

Sends the event to all of the specified data groups.

Parameters
evtthe event to write to the data groups
dataGroupsthe array of data groups to write to
Exceptions
nSecurityException
nRequestTimedOutException
nSessionPausedException
nSessionNotConnectedException
nMaxBufferSizeExceededExceptionis thrown when elements of the event being sent exceed the connection's max buffer size
Since
6.0
void com.pcbsys.nirvana.client.nSession.writeDataGroup ( nConsumeEvent[]  evts,
nDataGroup  dataGroup 
) throws nSecurityException, nRequestTimedOutException, nSessionPausedException, nSessionNotConnectedException, nMaxBufferSizeExceededException

Sends the list of events to the specified data group.

Parameters
evtsthe array of events to write to the group
dataGroupthe data group to write to
Exceptions
nSecurityException
nRequestTimedOutException
nSessionPausedException
nSessionNotConnectedException
nMaxBufferSizeExceededExceptionis thrown when elements of the event being sent exceed the connection's max buffer size
Since
6.0
void com.pcbsys.nirvana.client.nSession.writeDataGroup ( Map< nConsumeEvent, nDataGroup list) throws nSecurityException, nRequestTimedOutException, nSessionPausedException, nSessionNotConnectedException, nMaxBufferSizeExceededException

Sends each event in the list to its corresponding data group.

Parameters
listthe <key,value> list of nConsumeEvent and data groups
Exceptions
nMaxBufferSizeExceededExceptionis thrown when elements of the event being sent exceed the connection's max buffer size
void com.pcbsys.nirvana.client.nSession.writeDataGroup ( nConsumeEvent[]  evts,
nDataGroup[]  dataGroups 
) throws nSecurityException, nRequestTimedOutException, nSessionPausedException, nSessionNotConnectedException, nMaxBufferSizeExceededException

Sends the list of events to all of the specified data groups.

Parameters
evtsthe array of events to write to the groups
dataGroupsthe groups to write to
Exceptions
nSecurityException
nRequestTimedOutException
nSessionPausedException
nSessionNotConnectedException
nMaxBufferSizeExceededExceptionis thrown when elements of the event being sent exceed the connection's max buffer size
Since
6.0
void com.pcbsys.nirvana.client.nSession.writeDataGroup ( nConsumeEvent  evt,
nDataGroup  dataGroup,
boolean  waitForReply 
) throws nSecurityException, nRequestTimedOutException, nSessionPausedException, nSessionNotConnectedException, nMaxBufferSizeExceededException

Sends the event to the specified data group.

Parameters
evtthe event to write to the group
dataGroupthe data group to write to
waitForReplyif true then the method will not return until it receives a response from the server
Exceptions
nSecurityException
nRequestTimedOutException
nSessionPausedException
nSessionNotConnectedException
nMaxBufferSizeExceededExceptionis thrown when elements of the event being sent exceed the connection's max buffer size
Since
6.0
void com.pcbsys.nirvana.client.nSession.writeDataGroup ( nConsumeEvent  evt,
nDataGroup[]  dataGroups,
boolean  waitForReply 
) throws nSecurityException, nRequestTimedOutException, nSessionPausedException, nSessionNotConnectedException, nMaxBufferSizeExceededException

Sends the event to all of the specified data groups.

Parameters
evtthe event to write to the groups
dataGroupsthe array of data groups to write to
waitForReplyif true then the method will not return until it receives a response from the server
Exceptions
nSecurityException
nRequestTimedOutException
nSessionPausedException
nSessionNotConnectedException
nMaxBufferSizeExceededExceptionis thrown when elements of the event being sent exceed the connection's max buffer size
Since
6.0
void com.pcbsys.nirvana.client.nSession.writeDataGroup ( nConsumeEvent[]  evts,
nDataGroup  dataGroup,
boolean  waitForReply 
) throws nSecurityException, nRequestTimedOutException, nSessionPausedException, nSessionNotConnectedException, nMaxBufferSizeExceededException

Sends the list of events to the specified data group.

Parameters
evtsthe array of events to write to the group
dataGroupthe data group to write to
waitForReplyif true then the method will not return until it receives a response from the server
Exceptions
nSecurityException
nRequestTimedOutException
nSessionPausedException
nSessionNotConnectedException
nMaxBufferSizeExceededExceptionis thrown when elements of the event being sent exceed the connection's max buffer size
Since
6.0
void com.pcbsys.nirvana.client.nSession.writeDataGroup ( nConsumeEvent[]  evts,
nDataGroup[]  dataGroups,
boolean  waitForReply 
) throws nSecurityException, nRequestTimedOutException, nSessionPausedException, nSessionNotConnectedException, nMaxBufferSizeExceededException

Sends the list of events to all of the specified data groups.

Parameters
evtsthe array of events to write to the groups
dataGroupsthe array of groups to write to
waitForReplyif true then the method will not return until it receives a response from the server
Exceptions
nSecurityException
nRequestTimedOutException
nSessionPausedException
nSessionNotConnectedException
nMaxBufferSizeExceededExceptionis thrown when elements of the event being sent exceed the connection's max buffer size
Since
6.0
void com.pcbsys.nirvana.client.nSession.writeDataGroup ( Map< nConsumeEvent, nDataGroup list,
boolean  waitForResponse 
) throws nSecurityException, nRequestTimedOutException, nSessionPausedException, nSessionNotConnectedException, nMaxBufferSizeExceededException

Sends each event in the list to its corresponding data group.

Parameters
list<key,value> list of nConsumeEvent and data groups
waitForResponseif true then the method will not return until it receives a response from the server
Exceptions
nMaxBufferSizeExceededExceptionis thrown when elements of the event being sent exceed the connection's max buffer size
void com.pcbsys.nirvana.client.nSession.writeDataGroup ( Map< nConsumeEvent, nDataGroup list,
boolean  waitForResponse,
boolean  isRegisteredEvent 
) throws nSecurityException, nRequestTimedOutException, nSessionPausedException, nSessionNotConnectedException, nMaxBufferSizeExceededException
protected

Sends each event in the list to its corresponding data group.

Parameters
list<key,value> list of nConsumeEvent and data groups
waitForResponseif true then the method will not return until it receives a response from the server
isRegisteredEventif this is true, the events will be handled as a list of nRegisteredEvents
Exceptions
nMaxBufferSizeExceededExceptionis thrown when elements of the event being sent exceed the connection's max buffer size
void com.pcbsys.nirvana.client.nSession.writeDataStream ( nConsumeEvent  evt,
nDataStream  stream 
) throws nSecurityException, nRequestTimedOutException, nSessionPausedException, nSessionNotConnectedException, nMaxBufferSizeExceededException

Sends the event to the specified stream.

Parameters
evtthe event to write to the stream
streamthe stream to write to
Exceptions
nSecurityException
nRequestTimedOutException
nSessionPausedException
nSessionNotConnectedException
nMaxBufferSizeExceededExceptionis thrown when elements of the event being sent exceed the connection's max buffer size
Since
6.0
void com.pcbsys.nirvana.client.nSession.writeDataStream ( nConsumeEvent  evt,
nDataStream[]  streams 
) throws nSecurityException, nRequestTimedOutException, nSessionPausedException, nSessionNotConnectedException, nMaxBufferSizeExceededException

Sends the event to the specified streams.

Parameters
evtthe event to write to the streams
streamsthe array of streams to write to
Exceptions
nSecurityException
nRequestTimedOutException
nSessionPausedException
nSessionNotConnectedException
nMaxBufferSizeExceededExceptionis thrown when elements of the event being sent exceed the connection's max buffer size
Since
6.0
void com.pcbsys.nirvana.client.nSession.writeDataStream ( nConsumeEvent[]  evts,
nDataStream  stream 
) throws nSecurityException, nRequestTimedOutException, nSessionPausedException, nSessionNotConnectedException, nMaxBufferSizeExceededException

Sends the events to the specified stream.

Parameters
evtsthe array of events to write to the stream
streamthe stream to write to
Exceptions
nSecurityException
nRequestTimedOutException
nSessionPausedException
nSessionNotConnectedException
nMaxBufferSizeExceededExceptionis thrown when elements of the event being sent exceed the connection's max buffer size
Since
6.0
void com.pcbsys.nirvana.client.nSession.writeDataStream ( nConsumeEvent[]  evts,
nDataStream[]  streams 
) throws nSecurityException, nRequestTimedOutException, nSessionPausedException, nSessionNotConnectedException, nMaxBufferSizeExceededException

Sends the events to the specified streams.

Parameters
evtsthe array of events to write to the stream
streamsthe array of streams to write to
Exceptions
nSecurityException
nRequestTimedOutException
nSessionPausedException
nSessionNotConnectedException
nMaxBufferSizeExceededExceptionis thrown when elements of the event being sent exceed the connection's max buffer size
Since
6.0
void com.pcbsys.nirvana.client.nSession.writeDataStream ( Map< nConsumeEvent, nDataStream list) throws nSecurityException, nRequestTimedOutException, nSessionPausedException, nSessionNotConnectedException, nMaxBufferSizeExceededException

Sends each event in the list to its corresponding data stream.

Parameters
listthe <key,value> list of nConsumeEvent and data streams
Exceptions
nMaxBufferSizeExceededExceptionis thrown when elements of the event being sent exceed the connection's max buffer size
void com.pcbsys.nirvana.client.nSession.writeDataStream ( Map< nConsumeEvent, nDataStream list,
boolean  waitForResponse 
) throws nSecurityException, nRequestTimedOutException, nSessionPausedException, nSessionNotConnectedException, nMaxBufferSizeExceededException

Sends each event in the list to its corresponding data stream.

Parameters
list<key,value> list of nConsumeEvent and data streams
waitForResponseif true then the method will not return until it receives a response from the server
Exceptions
nMaxBufferSizeExceededExceptionis thrown when elements of the event being sent exceed the connection's max buffer size
void com.pcbsys.nirvana.client.nSession.writeDataStream ( Map< nConsumeEvent, nDataStream list,
boolean  waitForResponse,
boolean  isRegisteredEvent 
) throws nSecurityException, nRequestTimedOutException, nSessionPausedException, nSessionNotConnectedException, nMaxBufferSizeExceededException
protected

Sends each event in the list to its corresponding data stream.

Parameters
list<key,value> list of nConsumeEvent and data streams
waitForResponseif true then the method will not return until it receives a response from the server
isRegisteredEventif this is true, the events will be handled as a list of nRegisteredEvents
Exceptions
nMaxBufferSizeExceededExceptionis thrown when elements of the event being sent exceed the connection's max buffer size
void com.pcbsys.nirvana.client.nSession.writeDataStream ( nConsumeEvent  evt,
nDataStream  stream,
boolean  waitForReply 
) throws nSecurityException, nRequestTimedOutException, nSessionPausedException, nSessionNotConnectedException, nMaxBufferSizeExceededException

Sends the event to the specified stream.

Parameters
evtthe event to write to the stream
streamthe data stream to write to
waitForReplyif true then the method will not return until it receives a response from the server
Exceptions
nSecurityException
nRequestTimedOutException
nSessionPausedException
nSessionNotConnectedException
nMaxBufferSizeExceededExceptionis thrown when elements of the event being sent exceed the connection's max buffer size
Since
6.0
void com.pcbsys.nirvana.client.nSession.writeDataStream ( nConsumeEvent  evt,
nDataStream[]  streams,
boolean  waitForReply 
) throws nSecurityException, nRequestTimedOutException, nSessionPausedException, nSessionNotConnectedException, nMaxBufferSizeExceededException

Sends the event to the specified streams.

Parameters
evtthe event to write to the streams
streamsthe array of streams to write to
waitForReplyif true then the method will not return until it receives a response from the server
Exceptions
nSecurityException
nRequestTimedOutException
nSessionPausedException
nSessionNotConnectedException
nMaxBufferSizeExceededExceptionis thrown when elements of the event being sent exceed the connection's max buffer size
Since
6.0
void com.pcbsys.nirvana.client.nSession.writeDataStream ( nConsumeEvent[]  evts,
nDataStream  stream,
boolean  waitForReply 
) throws nSecurityException, nRequestTimedOutException, nSessionPausedException, nSessionNotConnectedException, nMaxBufferSizeExceededException

Sends the event to the specified stream.

Parameters
evtsthe array of events to write to the stream
streamthe stream to write to
waitForReplyif true then the method will not return until it receives a response from the server
Exceptions
nSecurityException
nRequestTimedOutException
nSessionPausedException
nSessionNotConnectedException
nMaxBufferSizeExceededExceptionis thrown when elements of the event being sent exceed the connection's max buffer size
Since
6.0
void com.pcbsys.nirvana.client.nSession.writeDataStream ( nConsumeEvent[]  evts,
nDataStream[]  streams,
boolean  waitForReply 
) throws nSecurityException, nRequestTimedOutException, nSessionPausedException, nSessionNotConnectedException, nMaxBufferSizeExceededException

Sends the event to the specified streams.

Parameters
evtsthe array of events to write to the streams
streamsthe array of streams to write to
waitForReplyif true then the method will not return until it receives a response from the server
Exceptions
nSecurityException
nRequestTimedOutException
nSessionPausedException
nSessionNotConnectedException
nMaxBufferSizeExceededExceptionis thrown when elements of the event being sent exceed the connection's max buffer size
Since
6.0
nEvent com.pcbsys.nirvana.client.nSession.writeEvent ( nEvent  e) throws nSessionNotConnectedException, nRequestTimedOutException, nSessionPausedException
protected

Writes a synchronous or asynchronous event to the associated connection.

WARNING: Must synchronise the event PRIOR to sending the event to the server. This is because the server may respond faster than the client can move into the synchronised block and hence will miss the notify and would then wait for the time out. This would make every one sad and miserable.. So don't do it.

Parameters
eThe event to be written
Returns
an nEvent object representing the response if the event was synchronous, null otherwise
Exceptions
nSessionNotConnectedExceptionCurrent session is not connected
nRequestTimedOutException<Enter Exception Description>
nEvent com.pcbsys.nirvana.client.nSession.writeEvent ( nEvent  e,
long  timeout 
) throws nSessionNotConnectedException, nRequestTimedOutException, nSessionPausedException
protected

nEvent to be written by the connection to the server and depending on the event will receive a sync response

Parameters
eevent to be written
timeoutthe max lenght of time to wait for a response from the server
Returns
the response;
Exceptions
nSessionNotConnectedException
nRequestTimedOutException
nSessionPausedException