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. More...
 
void addConnectionQueueListener (nConnectionQueueListener listener, boolean highWaterMark, boolean lowWaterMark, 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 too. 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 too. 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...
 
nCreateResult[] create (nChannelAttributes[] attr, Collection< Collection< nStorePermission >> permissionsList) 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 privilegeMask) throws nUnknownRemoteRealmException, nSessionPausedException, nSecurityException, nChannelAlreadyExistsException, nSessionNotConnectedException, nUnexpectedResponseException, nRequestTimedOutException, nIllegalArgumentException
 Creates a new channel on the realm this session is connected. More...
 
nChannel createChannel (nChannelAttributes attributes, long initialEid, Collection< nStorePermission > channelPermissions) throws nIllegalArgumentException, nUnexpectedResponseException, nUnknownRemoteRealmException, nChannelAlreadyExistsException, nSecurityException, nSessionNotConnectedException, nSessionPausedException, nRequestTimedOutException
 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 privilegeMask) throws nUnknownRemoteRealmException, nSessionPausedException, nSecurityException, nChannelAlreadyExistsException, nSessionNotConnectedException, nUnexpectedResponseException, nRequestTimedOutException, nIllegalArgumentException
 Creates a new queue on the realm this session is connected. More...
 
nQueue createQueue (nChannelAttributes attributes, Collection< nStorePermission > queuePermissions) throws nUnknownRemoteRealmException, nSessionPausedException, nSecurityException, nChannelAlreadyExistsException, nSessionNotConnectedException, nUnexpectedResponseException, nRequestTimedOutException, nIllegalArgumentException
 Creates a new queue on the realm this session is connected. More...
 
nQueue createQueue (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
 Removes another realm from the realm this session is connected too. 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...
 
synchronized void enableThreading (int poolSize)
 Enables thread pooling for this session. More...
 
nFindResult[] find (nChannelAttributes[] attr) throws nSessionPausedException, nUnknownRemoteRealmException, nSecurityException, nUnexpectedResponseException, nSessionNotConnectedException, nIllegalArgumentException, 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 getAttributes ()
 Gets the session attribute object associated with this session. More...
 
boolean getChannelMultiplexing ()
 Returns true if channel multiplexing has been enabled or not.
 
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 separated list of RNAME's 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 local address and port 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, nRequestTimedOutException, nUnexpectedResponseException, 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 (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...
 
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...
 
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 isInitialised ()
 Returns true if this session has been initialised successfully. 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 ()
 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 ()
 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 parameter)
 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 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 RNAME's 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[] events, nAbstractChannel[] destinations, boolean waitForReply) throws nSecurityException, nRequestTimedOutException, nSessionPausedException, nSessionNotConnectedException, nMaxBufferSizeExceededException
 Sends the events to the specified channels / queues. More...
 
void write (nConsumeEvent event, nAbstractChannel[] destinations, boolean waitForReply) throws nSecurityException, nRequestTimedOutException, nSessionPausedException, nSessionNotConnectedException, nMaxBufferSizeExceededException
 Sends the event to the specified channels / queues. More...
 
void write (nConsumeEvent[] events, 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 nDataGroup.addPublisher() must be called at least once in the data group before this function can be called to ensure the appropriate permissions are set. More...
 
void writeDataGroup (nConsumeEvent evt, nDataGroup[] dataGroups) throws nSecurityException, nRequestTimedOutException, nSessionPausedException, nSessionNotConnectedException, nMaxBufferSizeExceededException
 Sends the event to all of the specified data groups nDataGroup.addPublisher() must be called at least once for each data group before this function can be called to ensure the appropriate permissions are set. More...
 
void writeDataGroup (nConsumeEvent[] events, nDataGroup dataGroup) throws nSecurityException, nRequestTimedOutException, nSessionPausedException, nSessionNotConnectedException, nMaxBufferSizeExceededException
 Sends the list of events to the specified data group nDataGroup.addPublisher() must be called at least once in the data group before this function can be called to ensure the appropriate permissions are set. 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[] events, nDataGroup[] dataGroups) throws nSecurityException, nRequestTimedOutException, nSessionPausedException, nSessionNotConnectedException, nMaxBufferSizeExceededException
 Sends the list of events to all of the specified data groups nDataGroup.addPublisher() must be called at least once for each data group before this function can be called to ensure the appropriate permissions are set. 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[] events, nDataGroup dataGroup, boolean waitForReply) throws nSecurityException, nRequestTimedOutException, nSessionPausedException, nSessionNotConnectedException, nMaxBufferSizeExceededException
 Sends the list of events to the specified data group. More...
 
void writeDataGroup (nConsumeEvent[] events, 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[] events, nDataStream stream) throws nSecurityException, nRequestTimedOutException, nSessionPausedException, nSessionNotConnectedException, nMaxBufferSizeExceededException
 Sends the events to the specified stream. More...
 
void writeDataStream (nConsumeEvent[] events, 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[] events, nDataStream stream, boolean waitForReply) throws nSecurityException, nRequestTimedOutException, nSessionPausedException, nSessionNotConnectedException, nMaxBufferSizeExceededException
 Sends the event to the specified stream. More...
 
void writeDataStream (nConsumeEvent[] events, nDataStream[] streams, boolean waitForReply) throws nSecurityException, nRequestTimedOutException, nSessionPausedException, nSessionNotConnectedException, nMaxBufferSizeExceededException
 Sends the event to the specified streams. More...
 

Protected Member Functions

void addRealm (com.pcbsys.nirvana.client.nRealm newRealm, nSession session, String clName, String rClName) throws nRealmAlreadyBoundException, nRealmUnreachableException, nSecurityException, nSessionNotConnectedException, nIllegalArgumentException, nRealmNotFoundException, nUnexpectedResponseException, nRequestTimedOutException, nSessionPausedException, nNameSpaceConflictException
 A common method for admin and session, wrapped especially for the reentrant use case. More...
 
EventHandlerInitialiser getEventHandlerInitialser ()
 Require as we need a decoupling for nAdminSession to overwrite. More...
 
String getPassword ()
 Returns the password associated with this session from creation time.
 
boolean isAdminApiSession ()
 Overridden by nAdminSession. More...
 
 nSession (nSessionAttributes attr) throws nIllegalArgumentException
 Constructor for when only an attributes is provided. More...
 
 nSession (nSession session, String user, String password) throws nIllegalArgumentException
 Constructor creating multiplex sessions. More...
 
 nSession (nSessionAttributes attr, nReconnectHandler handler) throws nIllegalArgumentException
 Constructs a new Nirvana session with the specified reconnect handler. More...
 
void registerExtensionCallback (nServerExtensionCallback callback)
 Used to register for listening to embedded API events. More...
 
void sendExtensionData (long id, byte[] data, nEventProperties props) throws nSessionNotConnectedException, nSessionPausedException, nRequestTimedOutException
 Used to send embedded API events to the server.
 

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.

Constructor & Destructor Documentation

com.pcbsys.nirvana.client.nSession.nSession ( nSessionAttributes  attr) throws nIllegalArgumentException
protected

Constructor for when only an attributes is provided.

Parameters
attrthe session attributes
Exceptions
nIllegalArgumentExceptionIf the attributes are null
com.pcbsys.nirvana.client.nSession.nSession ( nSession  session,
String  user,
String  password 
) throws nIllegalArgumentException
protected

Constructor creating multiplex sessions.

Parameters
sessionthe session to use for attributes
userthe username if provided
passwordthe password if provided
Exceptions
nIllegalArgumentExceptionif session is null
com.pcbsys.nirvana.client.nSession.nSession ( nSessionAttributes  attr,
nReconnectHandler  handler 
) throws nIllegalArgumentException
protected

Constructs a new Nirvana session with the specified reconnect handler.

Parameters
attrThe nSessionAttrib object with the parameters for the session to be created
handlerThe reconnection handler the session should use
Exceptions
nIllegalArgumentExceptionIllegal parameter, check the message for more information

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  highWaterMark,
boolean  lowWaterMark,
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
highWaterMarktrue to receive notifications of reaching queue high water mark
lowWaterMarktrue to receive notifications of reaching queue low water mark
accesstrue to receive notification of exceeding queue access time
pushtrue to receive notification of exceeding queue access and push time
blocktrue to receive notification of exceeding queue block time
Exceptions
nIllegalArgumentExceptionif the listener is Null of if already has a listener registered
Deprecated:
since 10.0

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

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 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
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 too.

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 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
nNameSpaceConflictExceptionThe realm conflicts with the existing namespace
nSessionPausedExceptionThe session is currently paused, please resume
void com.pcbsys.nirvana.client.nSession.addRealm ( com.pcbsys.nirvana.client.nRealm  newRealm,
nSession  session,
String  clName,
String  rClName 
) throws nRealmAlreadyBoundException, nRealmUnreachableException, nSecurityException, nSessionNotConnectedException, nIllegalArgumentException, nRealmNotFoundException, nUnexpectedResponseException, nRequestTimedOutException, nSessionPausedException, nNameSpaceConflictException
protected

A common method for admin and session, wrapped especially for the reentrant use case.

Parameters
newRealmThe realm we are joining to our current realm
sessionthe session we should use to connect to it
clNamelocal name
rClNameremove name
Exceptions
nRealmAlreadyBoundExceptionVarious reasons TBA
nRealmUnreachableExceptionVarious reasons TBA
nSecurityExceptionVarious reasons TBA
nSessionNotConnectedExceptionVarious reasons TBA
nIllegalArgumentExceptionVarious reasons TBA
nRealmNotFoundExceptionVarious reasons TBA
nUnexpectedResponseExceptionVarious reasons TBA
nRequestTimedOutExceptionVarious reasons TBA
nSessionPausedExceptionVarious reasons TBA
nNameSpaceConflictExceptionVarious reasons TBA
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
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
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 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

Creates new channels on the realm this session is connected.

Parameters
attrThe channel attributes array containing the new channel or queue attributes
permissionsListCollection containing lists of permission entries to be applied during creation. Permission lists and channel attributes are mapped by their order.
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 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
Since
9.12

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 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

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 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

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
privilegeMaskPrivilege 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 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

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
attributesThe 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
initialEidThe value to start the event id at
channelPermissionsCollection containing permission entries with security privileges that can be applied for a specific user
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 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
Since
9.12

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
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
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
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 com.pcbsys.nirvana.client.nDataGroup 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
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 com.pcbsys.nirvana.client.nDataGroup 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
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 com.pcbsys.nirvana.client.nDataGroup 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
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 com.pcbsys.nirvana.client.nDataGroup 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
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
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
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
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

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
privilegeMaskPrivilege 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 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

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
attributesThe channel attributes object containing the parameters for the new queue to be created
queuePermissionsCollection containing permission entries with security privileges that can be applied for a specific user
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 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
Since
9.12

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 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 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 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
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
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
Since
6.0

Deletes the specified data group from the server.

Parameters
groupthe data group to delete
Since
6.0

Deletes the specified data group from the server.

Parameters
groupsthe data groups to delete
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 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

Removes another realm from the realm this session is connected too.

Parameters
aRealmThe realm to remove the join 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 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
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
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.

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 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

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 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
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 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
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.getAttributes ( )

Gets the session attribute object associated with this session.

Returns
the nSessionAttributes object associated with this session

Returns a list of all known channels and queues.

Returns
An nChannelAttributes array object referring 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 occurred, 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 referring 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 occurred, 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 separated list of RNAME's 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 separated list of RNAME's 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
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

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
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

Return the default data group object.

Returns
the default group

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
EventHandlerInitialiser com.pcbsys.nirvana.client.nSession.getEventHandlerInitialser ( )
protected

Require as we need a decoupling for nAdminSession to overwrite.

Returns
the event handler initialiser
String com.pcbsys.nirvana.client.nSession.getId ( ) throws nSessionNotConnectedException

Returns the unique local address and port 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
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
com.pcbsys.nirvana.client.nRealm com.pcbsys.nirvana.client.nSession.getRealm ( String  name) throws nRealmNotFoundException, nSessionPausedException, nSecurityException, nSessionNotConnectedException, nUnexpectedResponseException, nRequestTimedOutException, nIllegalArgumentException

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 referring 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 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
com.pcbsys.nirvana.client.nRealm [] com.pcbsys.nirvana.client.nSession.getRealms ( ) throws nSecurityException, nSessionNotConnectedException, nSessionPausedException, nUnexpectedResponseException, nRequestTimedOutException, nIllegalArgumentException

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

Returns
An nRealm array object referring 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 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
com.pcbsys.nirvana.client.nRealm [] com.pcbsys.nirvana.client.nSession.getRealms ( boolean  zoneRealms) throws nSecurityException, nSessionNotConnectedException, nSessionPausedException, nUnexpectedResponseException, nRequestTimedOutException, nIllegalArgumentException

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

Returns
An nRealm array object referring 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 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
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 occurred, 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
Deprecated:
As of 10.0, use com.pcbsys.nirvana.client.nSessionAttributes#setDisconnectOnClusterFailure(boolean) instead
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
Deprecated:
As of 10.0, use com.pcbsys.nirvana.client.nSessionAttributes#setDisconnectOnClusterFailure(boolean)

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
boolean com.pcbsys.nirvana.client.nSession.isAdminApiSession ( )
protected

Overridden by nAdminSession.

Returns
false
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.isInitialised ( )

Returns true if this session has been initialised successfully.

Returns
result of the test
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 ( )

Pause the events being received by the Data Group Listener.

Events will still queue up within the heap they will just not be delivered.

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 ( )

Resumes the events being received by the Data Group Listener.

Since
6.0
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
void com.pcbsys.nirvana.client.nSession.setHTTPURLParameter ( String  parameter)

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
parameterParameter in the form of : ?parameter
void com.pcbsys.nirvana.client.nSession.setReadThreadAsDaemon ( boolean  isDaemon)

Each 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, call stacks 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.

Parameters
isDaemonspecifies whether to set the read thread as a daemon
Deprecated:
10.0 This call has been moved to com.pcbsys.nirvana.client.nSessionAttributes#setSessionThreadsAsDaemon
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
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
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
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,
boolean  waitForReply 
) 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
waitForReplyif 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
Since
6.0
void com.pcbsys.nirvana.client.nSession.write ( nConsumeEvent  event,
nAbstractChannel[]  destinations,
boolean  waitForReply 
) throws nSecurityException, nRequestTimedOutException, nSessionPausedException, nSessionNotConnectedException, nMaxBufferSizeExceededException

Sends the event to the specified channels / queues.

Parameters
eventthe 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
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,
boolean  waitForReply 
) throws nSecurityException, nRequestTimedOutException, nSessionPausedException, nSessionNotConnectedException, nMaxBufferSizeExceededException

Sends the events to the specified channels / queues.

Parameters
eventsthe 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
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
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
listkey 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.writeDataGroup ( nConsumeEvent  evt,
nDataGroup  dataGroup 
) throws nSecurityException, nRequestTimedOutException, nSessionPausedException, nSessionNotConnectedException, nMaxBufferSizeExceededException

Sends the event to the specified data group nDataGroup.addPublisher() must be called at least once in the data group before this function can be called to ensure the appropriate permissions are set.

Parameters
evtthe event to write to the data group
dataGroupthe data group to write to
Exceptions
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 nDataGroup.addPublisher() must be called at least once for each data group before this function can be called to ensure the appropriate permissions are set.

Parameters
evtthe event to write to the data groups
dataGroupsthe array of data groups to write to
Exceptions
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[]  events,
nDataGroup  dataGroup 
) throws nSecurityException, nRequestTimedOutException, nSessionPausedException, nSessionNotConnectedException, nMaxBufferSizeExceededException

Sends the list of events to the specified data group nDataGroup.addPublisher() must be called at least once in the data group before this function can be called to ensure the appropriate permissions are set.

Parameters
eventsthe array of events to write to the group
dataGroupthe data group to write to
Exceptions
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.

nDataGroup.addPublisher() must be called at least once for each data group before this function can be called to ensure the appropriate permissions are set.

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[]  events,
nDataGroup[]  dataGroups 
) throws nSecurityException, nRequestTimedOutException, nSessionPausedException, nSessionNotConnectedException, nMaxBufferSizeExceededException

Sends the list of events to all of the specified data groups nDataGroup.addPublisher() must be called at least once for each data group before this function can be called to ensure the appropriate permissions are set.

Parameters
eventsthe array of events to write to the groups
dataGroupsthe groups to write to
Exceptions
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.

nDataGroup.addPublisher() must be called at least once in the data group before this function can be called to ensure the appropriate permissions are set.

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
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.

nDataGroup.addPublisher() must be called at least once for each data group before this function can be called to ensure the appropriate permissions are set.

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
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[]  events,
nDataGroup  dataGroup,
boolean  waitForReply 
) throws nSecurityException, nRequestTimedOutException, nSessionPausedException, nSessionNotConnectedException, nMaxBufferSizeExceededException

Sends the list of events to the specified data group.

nDataGroup.addPublisher() must be called at least once in the data group before this function can be called to ensure the appropriate permissions are set.

Parameters
eventsthe 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
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[]  events,
nDataGroup[]  dataGroups,
boolean  waitForReply 
) throws nSecurityException, nRequestTimedOutException, nSessionPausedException, nSessionNotConnectedException, nMaxBufferSizeExceededException

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

nDataGroup.addPublisher() must be called at least once for each data group before this function can be called to ensure the appropriate permissions are set.

Parameters
eventsthe 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
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.

nDataGroup.addPublisher() must be called at least once for each data group before this function can be called to ensure the appropriate permissions are set.

Parameters
listkey 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.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
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
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[]  events,
nDataStream  stream 
) throws nSecurityException, nRequestTimedOutException, nSessionPausedException, nSessionNotConnectedException, nMaxBufferSizeExceededException

Sends the events to the specified stream.

Parameters
eventsthe array of events to write to the stream
streamthe stream to write to
Exceptions
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[]  events,
nDataStream[]  streams 
) throws nSecurityException, nRequestTimedOutException, nSessionPausedException, nSessionNotConnectedException, nMaxBufferSizeExceededException

Sends the events to the specified streams.

Parameters
eventsthe array of events to write to the stream
streamsthe array of streams to write to
Exceptions
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 ( 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
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
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[]  events,
nDataStream  stream,
boolean  waitForReply 
) throws nSecurityException, nRequestTimedOutException, nSessionPausedException, nSessionNotConnectedException, nMaxBufferSizeExceededException

Sends the event to the specified stream.

Parameters
eventsthe 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
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[]  events,
nDataStream[]  streams,
boolean  waitForReply 
) throws nSecurityException, nRequestTimedOutException, nSessionPausedException, nSessionNotConnectedException, nMaxBufferSizeExceededException

Sends the event to the specified streams.

Parameters
eventsthe 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
nMaxBufferSizeExceededExceptionis thrown when elements of the event being sent exceed the connection's max buffer size
Since
6.0