- com
- pcbsys
- nirvana
- client
- nSessionAttributes
This class is a container for the attributes necessary to create a Nirvana session. More...
Public Member Functions | |
String | getConnectionDetail (int idx) |
Returns the rname indexed by idx. More... | |
String[] | getEnabledCiphers () |
long | getInitialConnectionRetryCount () |
Gets the inital connection retry count. More... | |
String | getKeyStoreCert () |
String | getKeyStorePass () |
String | getKeyStorePath () |
String | getName () |
int | getNumberOfConnections () |
Returns the number of protocols used by this nSession. More... | |
boolean | getReconnectImmediately () |
Returns whether the nSession should reconnect after specified interval on disconnect or back off progressively more and more. More... | |
long | getReconnectInterval () |
Returns the amount of time (in milliseconds) to wait before attempting reconnect. More... | |
String | getSSLProtocol () |
String | getTrustStorePass () |
String | getTrustStorePath () |
boolean | isAdviseAsynchronousEventListenersOfStoreDelete () |
If a store is delete on a connected server then the session is advised, when it is advised if there is any asynchronous listeners connected to the store being deleted a nConsumeEvent with and event ID of -2 is sent which signals the end of that store object. More... | |
boolean | isDisableReconnect () |
Returns the value of the disableReconnect flag, which stops the session from automatically attempting a reconnection before calling the tryAgain function of any supplied nReconnectHandler. More... | |
boolean | isDisconnectOnClusterFailure () |
If the Session Attribute has been configured such that loss of cluster quorum or the currently connected node disconnects from the cluster then the connection is dropped. More... | |
boolean | isFollowTheMaster () |
If the Session Attributes has been configured to follow the cluster master. More... | |
boolean | isHorizontalScalabilityEnabled () |
If true then this nSessionAttributes will create a horizontal scalability environment where by multiple nodes will be connected to concurrently. More... | |
boolean | isRequestPriorityConnection () |
Queries the property which requests a priority connection to the server. More... | |
boolean | isRequestUnthrottledConnection () |
Queries the property which requests an unthrottled connection to the server. More... | |
boolean | isSessionThreadsDaemon () |
Returns whether or not the session associated with this nSessionAttributes will use Daemon threads. More... | |
nSessionAttributes (nRealm realm) throws nIllegalArgumentException | |
Constructs an nSessionAttributes object from the nRealm object supplied. More... | |
nSessionAttributes (nRealm realm, long initialConnectionRetry) throws nIllegalArgumentException | |
Constructs an nSessionAttributes object from the nRealm object supplied. More... | |
nSessionAttributes (String url) throws nIllegalArgumentException | |
Constructs an nSessionAttributes object with the string URL specified. More... | |
nSessionAttributes (String url, long initialConnectionRetry) throws nIllegalArgumentException | |
Constructs an nSessionAttributes object with the string URL specified and retry count for initial connection attempts. More... | |
nSessionAttributes (String[] urls) throws nIllegalArgumentException | |
Constructs an nSessionAttributes object with the collection of string URLs specified. More... | |
nSessionAttributes (String[] urls, long initialConnectionRetry) throws nIllegalArgumentException | |
Constructs an nSessionAttributes object with the collection of string URLs specified. More... | |
void | setAdviseAsynchronousEventListenersOfStoreDelete (boolean adviseAsynchronousEventListenersOfStoreDelete) |
If a store is delete on a connected server then the session is advised, when it is advised if there is any asynchronous listeners connected to the store being deleted a nConsumeEvent with and event ID of -2 is sent which signals the end of that store object. More... | |
void | setDisableReconnect (boolean disableReconnect) |
Sets whether to stop the session from automatically attempting a reconnection before calling the tryAgain function of any supplied nReconnectHandler. More... | |
void | setDisconnectOnClusterFailure (boolean disconnectOnClusterFailure) |
Set this flag to true if the session is to be disconnected on cluster failure, or node disconnection to the cluster. More... | |
void | setEnabledCiphers (String[] enabledCiphers) |
void | setFollowTheMaster (boolean followTheMaster) |
Set this flag to true if the session is to connect only to a master in a cluster, has no effect on none clustered servers. More... | |
void | setKeystore (String keystore, String password) |
void | setKeystore (String keystore, String password, String alias) |
void | setName (String sessionName) |
void | setReconnectImmediately (boolean reconnectImmediately) |
Set whether the nSession should reconnect after specified interval on disconnect or back off progressively more and more. More... | |
void | setReconnectInterval (long reconnectInterval) |
Set the amount of time (in milliseconds) to wait before attempting reconnect. More... | |
void | setRequestPriorityConnection (boolean requestPriorityConnection) |
Sets the property which requests a priority connection to the server. More... | |
void | setRequestUnthrottledConnection (boolean requestUnthrottledConnection) |
Sets the property which requests an unthrottled connection to the server. More... | |
void | setSessionThreadsAsDaemon (boolean useDaemonThreads) |
Each Nirvana nSession has a dedicated thread used to synchronously read from the underlying transport. More... | |
void | setSSLProtocol (String sslProtocol) |
void | setTruststore (String truststore, String password) |
Static Public Member Functions | |
static String | getPKCS11NSSConfigFile () |
static String | getPKCS11NSSName () |
static void | setPKCS11NSSConfigFile (String config) |
static void | setPKCS11NSSName (String name) |
Static Public Attributes | |
static final String | ADAPTER_BUFFER = "com.softwareag.um.client.network_io_buffer_size" |
System property which specifies the receive and send buffer size in bytes when a socket is created. More... | |
static final String | CERTIFICATE_ALIAS = "com.softwareag.um.client.ssl.certificate_alias" |
System property which specifies the alias of the certificate in the client keystore to be used for connecting to a realm server over SSL if the latter requires client authentication. More... | |
static final String | ENABLED_CIPHERS = "com.softwareag.um.client.ssl.enabled_ciphers" |
System property which specifies the ciphers which the session is allowed to use for connecting to a realm server over SSL. More... | |
static final String | FOLLOW_THE_MASTER = "com.softwareag.um.client.follow_the_master" |
System property which specifies, in case of creating a session to realms which are in a cluster, if the session must always connect to the master realm. More... | |
static final String | KEYSTORE_PASSWORD = "com.softwareag.um.client.ssl.keystore_password" |
System property which specifies the password for the client keystore to be used for connecting to a realm server over SSL if the latter requires client authentication. More... | |
static final String | KEYSTORE_PATH = "com.softwareag.um.client.ssl.keystore_path" |
System property which specifies the location of the client keystore to be used for connecting to a realm server over SSL if the latter requires client authentication. More... | |
static final String | PKCS11_NSS_CONFIG = "com.softwareag.um.client.pkcs11_nss_config" |
System property which specifies the PKCS11/NSS config file. More... | |
static final String | PKCS11_NSS_NAME = "com.softwareag.um.client.pkcs11_nss_name" |
System property which specifies the PKCS11/NSS name. More... | |
static final String | SESSION_DISABLE_RECONNECT = "com.softwareag.um.client.session_disable_reconnect" |
System property which specifies the reconnection policy of the session in the case when it gets disconnected from the realm server. More... | |
static final String | SSL_PROTOCOL = "com.softwareag.um.client.ssl.ssl_protocol" |
System property which specifies the protocol which will be used for connecting to a realm server over SSL. | |
static final String | TRUSTSTORE_PASSWORD = "com.softwareag.um.client.ssl.truststore_password" |
System property which specifies the password for the truststore to be used for connecting to a realm server over SSL. More... | |
static final String | TRUSTSTORE_PATH = "com.softwareag.um.client.ssl.truststore_path" |
System property which specifies the location of the truststore to be used for connecting to a realm server over SSL. More... | |
static final String | WRITE_HANDLER = "com.softwareag.um.client.write_handler" |
System property which specifies the Universal Messaging JVM-wide socket write handling. More... | |
This class is a container for the attributes necessary to create a Nirvana session.
com.pcbsys.nirvana.client.nSessionAttributes.nSessionAttributes | ( | nRealm | realm | ) | throws nIllegalArgumentException |
Constructs an nSessionAttributes object from the nRealm object supplied.
realm | A nRealm object of the realm you want to connect to. |
nIllegalArgumentException | if the url is invalid |
com.pcbsys.nirvana.client.nSessionAttributes.nSessionAttributes | ( | nRealm | realm, |
long | initialConnectionRetry | ||
) | throws nIllegalArgumentException |
Constructs an nSessionAttributes object from the nRealm object supplied.
realm | A nRealm object of the realm you want to connect to. |
initialConnectionRetry | A long specfiying amount of times to retry for inital connection |
nIllegalArgumentException | if the url is invalid |
com.pcbsys.nirvana.client.nSessionAttributes.nSessionAttributes | ( | String | url | ) | throws nIllegalArgumentException |
Constructs an nSessionAttributes object with the string URL specified.
url | A string in the form protocol://host:port e.g. nsp://127.0.0.1:9000 Protocol can be one of nsp, nhp, nsps, nhps |
nIllegalArgumentException | if the url is invalid |
com.pcbsys.nirvana.client.nSessionAttributes.nSessionAttributes | ( | String | url, |
long | initialConnectionRetry | ||
) | throws nIllegalArgumentException |
Constructs an nSessionAttributes object with the string URL specified and retry count for initial connection attempts.
url | A string in the form protocol://host:port e.g. nsp://127.0.0.1:9000 Protocol can be one of nsp, nhp, nsps, nhps |
initialConnectionRetry | A long specfiying amount of times to retry for inital connection |
nIllegalArgumentException | if the url is invalid |
com.pcbsys.nirvana.client.nSessionAttributes.nSessionAttributes | ( | String[] | urls | ) | throws nIllegalArgumentException |
Constructs an nSessionAttributes object with the collection of string URLs specified.
urls | A string[], containing strings in the form protocol://host:port e.g. nsp://127.0.0.1:9000 Protocol can be one of nsp, nhp, nsps, nhps |
nIllegalArgumentException | if the url is invalid |
com.pcbsys.nirvana.client.nSessionAttributes.nSessionAttributes | ( | String[] | urls, |
long | initialConnectionRetry | ||
) | throws nIllegalArgumentException |
Constructs an nSessionAttributes object with the collection of string URLs specified.
urls | A string[], containing strings in the form protocol://host:port e.g. nsp://127.0.0.1:9000 Protocol can be one of nsp, nhp, nsps, nhps |
initialConnectionRetry | A long specfiying amount of times to retry for inital connection |
nIllegalArgumentException | if the url is invalid |
String com.pcbsys.nirvana.client.nSessionAttributes.getConnectionDetail | ( | int | idx | ) |
Returns the rname indexed by idx.
These where passed in when the initial nSession was created
idx | the index of the connection details to return |
NoSuchElementException | If the index is out of bounds |
String [] com.pcbsys.nirvana.client.nSessionAttributes.getEnabledCiphers | ( | ) |
long com.pcbsys.nirvana.client.nSessionAttributes.getInitialConnectionRetryCount | ( | ) |
Gets the inital connection retry count.
String com.pcbsys.nirvana.client.nSessionAttributes.getKeyStoreCert | ( | ) |
String com.pcbsys.nirvana.client.nSessionAttributes.getKeyStorePass | ( | ) |
String com.pcbsys.nirvana.client.nSessionAttributes.getKeyStorePath | ( | ) |
String com.pcbsys.nirvana.client.nSessionAttributes.getName | ( | ) |
int com.pcbsys.nirvana.client.nSessionAttributes.getNumberOfConnections | ( | ) |
|
static |
|
static |
boolean com.pcbsys.nirvana.client.nSessionAttributes.getReconnectImmediately | ( | ) |
Returns whether the nSession should reconnect after specified interval on disconnect or back off progressively more and more.
long com.pcbsys.nirvana.client.nSessionAttributes.getReconnectInterval | ( | ) |
Returns the amount of time (in milliseconds) to wait before attempting reconnect.
Only applies if reconnect immediately is set.
String com.pcbsys.nirvana.client.nSessionAttributes.getSSLProtocol | ( | ) |
String com.pcbsys.nirvana.client.nSessionAttributes.getTrustStorePass | ( | ) |
String com.pcbsys.nirvana.client.nSessionAttributes.getTrustStorePath | ( | ) |
boolean com.pcbsys.nirvana.client.nSessionAttributes.isAdviseAsynchronousEventListenersOfStoreDelete | ( | ) |
If a store is delete on a connected server then the session is advised, when it is advised if there is any asynchronous listeners connected to the store being deleted a nConsumeEvent with and event ID of -2 is sent which signals the end of that store object.
boolean com.pcbsys.nirvana.client.nSessionAttributes.isDisableReconnect | ( | ) |
Returns the value of the disableReconnect flag, which stops the session from automatically attempting a reconnection before calling the tryAgain function of any supplied nReconnectHandler.
boolean com.pcbsys.nirvana.client.nSessionAttributes.isDisconnectOnClusterFailure | ( | ) |
If the Session Attribute has been configured such that loss of cluster quorum or the currently connected node disconnects from the cluster then the connection is dropped.
boolean com.pcbsys.nirvana.client.nSessionAttributes.isFollowTheMaster | ( | ) |
If the Session Attributes has been configured to follow the cluster master.
boolean com.pcbsys.nirvana.client.nSessionAttributes.isHorizontalScalabilityEnabled | ( | ) |
If true then this nSessionAttributes will create a horizontal scalability environment where by multiple nodes will be connected to concurrently.
boolean com.pcbsys.nirvana.client.nSessionAttributes.isRequestPriorityConnection | ( | ) |
Queries the property which requests a priority connection to the server.
boolean com.pcbsys.nirvana.client.nSessionAttributes.isRequestUnthrottledConnection | ( | ) |
Queries the property which requests an unthrottled connection to the server.
boolean com.pcbsys.nirvana.client.nSessionAttributes.isSessionThreadsDaemon | ( | ) |
Returns whether or not the session associated with this nSessionAttributes will use Daemon threads.
void com.pcbsys.nirvana.client.nSessionAttributes.setAdviseAsynchronousEventListenersOfStoreDelete | ( | boolean | adviseAsynchronousEventListenersOfStoreDelete | ) |
If a store is delete on a connected server then the session is advised, when it is advised if there is any asynchronous listeners connected to the store being deleted a nConsumeEvent with and event ID of -2 is sent which signals the end of that store object.
adviseAsynchronousEventListenersOfStoreDelete | setting to false will stop the events being sent |
void com.pcbsys.nirvana.client.nSessionAttributes.setDisableReconnect | ( | boolean | disableReconnect | ) |
Sets whether to stop the session from automatically attempting a reconnection before calling the tryAgain function of any supplied nReconnectHandler.
disableReconnect | if set to true we will stop reconnection attempts |
void com.pcbsys.nirvana.client.nSessionAttributes.setDisconnectOnClusterFailure | ( | boolean | disconnectOnClusterFailure | ) |
Set this flag to true if the session is to be disconnected on cluster failure, or node disconnection to the cluster.
If followTheMaster is enabled then this value will be ignored and automatically set to true when connecting
disconnectOnClusterFailure | The required state for this session |
void com.pcbsys.nirvana.client.nSessionAttributes.setEnabledCiphers | ( | String[] | enabledCiphers | ) |
enabledCiphers | an array of enabled ciphers that the client can use |
void com.pcbsys.nirvana.client.nSessionAttributes.setFollowTheMaster | ( | boolean | followTheMaster | ) |
Set this flag to true if the session is to connect only to a master in a cluster, has no effect on none clustered servers.
If true, then on connection to any node within the cluster, if its not the master then the connection will be closed and a connection to the master established Setting this flag to be true will also automatically set the flag disconnectOnClusterFailure to true when connecting
followTheMaster | The required state for this session |
void com.pcbsys.nirvana.client.nSessionAttributes.setKeystore | ( | String | keystore, |
String | password | ||
) |
keystore | path value for the key store file |
password | value for the key store |
void com.pcbsys.nirvana.client.nSessionAttributes.setKeystore | ( | String | keystore, |
String | password, | ||
String | alias | ||
) |
keystore | path value for the key store file |
password | value for the key store |
alias | value for certificate to use from key store when doing client validation |
void com.pcbsys.nirvana.client.nSessionAttributes.setName | ( | String | sessionName | ) |
|
static |
config | is the location of the NSS configuration file on the file system |
|
static |
name | is the unique identifier in the NSS configuration file for identification purposes |
void com.pcbsys.nirvana.client.nSessionAttributes.setReconnectImmediately | ( | boolean | reconnectImmediately | ) |
Set whether the nSession should reconnect after specified interval on disconnect or back off progressively more and more.
This overrides the global static value in nConstants.
reconnectImmediately | Whether to reconnect immediately |
void com.pcbsys.nirvana.client.nSessionAttributes.setReconnectInterval | ( | long | reconnectInterval | ) |
Set the amount of time (in milliseconds) to wait before attempting reconnect.
Only applies if reconnect immediately is set. This overrides the global static value in nConstants.
reconnectInterval | New interval to wait before reconnect |
void com.pcbsys.nirvana.client.nSessionAttributes.setRequestPriorityConnection | ( | boolean | requestPriorityConnection | ) |
Sets the property which requests a priority connection to the server.
If this is true, sessions started with these session attributes will request their connection be a priority connection.
requestPriorityConnection | boolean set to true to request a priority connection, false for a normal connection. |
void com.pcbsys.nirvana.client.nSessionAttributes.setRequestUnthrottledConnection | ( | boolean | requestUnthrottledConnection | ) |
Sets the property which requests an unthrottled connection to the server.
If this is true, sessions started with these session attributes will request that the server not throttle this connection when the available memory on the server is low. This is only necessary if the server has the EnableFlowControl config item set to true and the session publishes to the server. Otherwise the connection will not be throttled regardless.
requestUnthrottledConnection | boolean set to true to request an unthrottled connection, false for a normal connection |
void com.pcbsys.nirvana.client.nSessionAttributes.setSessionThreadsAsDaemon | ( | boolean | useDaemonThreads | ) |
Each Nirvana nSession has a dedicated thread used to synchronously read from the underlying transport.
This thread is set as non-daemon thread by default. This is to ensure that on program exit, or Main thread exit, 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. This method should be used with extreme care.
useDaemonThreads | specifies whether to set the read thread as a daemon |
void com.pcbsys.nirvana.client.nSessionAttributes.setSSLProtocol | ( | String | sslProtocol | ) |
sslProtocol | is the protocol this client can use in its SSL communication |
void com.pcbsys.nirvana.client.nSessionAttributes.setTruststore | ( | String | truststore, |
String | password | ||
) |
truststore | path value for the trust store file |
password | value for the trust store |
|
static |
System property which specifies the receive and send buffer size in bytes when a socket is created.
This equates to the Java API java.net.SocketOptions#SO_RCVBUF and java.net.SocketOptions#SO_SNDBUF options. The larger the value of this property, the larger buffers the OS needs to allocate, so consideration into sizing such parameters requires a vast understanding of the application usages. If this system property is not set explicitly, its default value will be 1310720
.
|
static |
System property which specifies the alias of the certificate in the client keystore to be used for connecting to a realm server over SSL if the latter requires client authentication.
The value of this property can be overridden by setKeystore(String, String, String).
|
static |
System property which specifies the ciphers which the session is allowed to use for connecting to a realm server over SSL.
The value of this property must be a comma-separated list of cipher names.
|
static |
System property which specifies, in case of creating a session to realms which are in a cluster, if the session must always connect to the master realm.
If this property is set to true
, the session will initially connect to the master realm of the cluster; if the master realm becomes unavailable and a new master is elected, the session will automatically connect to it. If this system property is not set explicitly, its default value will be false
. The value of this property can be overridden by setFollowTheMaster(boolean).
|
static |
System property which specifies the password for the client keystore to be used for connecting to a realm server over SSL if the latter requires client authentication.
If this property is set, it will be used instead of javax.net.ssl.keyStorePassword
.
The value of this property can be overridden by setKeystore(String, String) and setKeystore(String, String, String).
|
static |
System property which specifies the location of the client keystore to be used for connecting to a realm server over SSL if the latter requires client authentication.
If this property is set, it will be used instead of javax.net.ssl.keyStore
.
The value of this property can be overridden by setKeystore(String, String) and setKeystore(String, String, String).
|
static |
System property which specifies the PKCS11/NSS config file.
The set value is used only if the enableFIPS
system property is set to nssfips
or nsscrypto
. The value of this property can be overridden by setPKCS11NSSConfigFile(String).
|
static |
System property which specifies the PKCS11/NSS name.
The set value is used only if the enableFIPS
system property is set to nssfips
or nsscrypto
. The value of this property can be overridden by setPKCS11NSSName(String).
|
static |
System property which specifies the reconnection policy of the session in the case when it gets disconnected from the realm server.
If this property is set to true
, it will stop the session from making any reconnection attempts. If this system property is not set explicitly, its default value will be false
. The value of this property can be overridden by setDisableReconnect(boolean).
|
static |
System property which specifies the password for the truststore to be used for connecting to a realm server over SSL.
If this property is set, it will be used instead of javax.net.ssl.trustStorePassword
.
The value of this property can be overridden by setTruststore(String, String).
|
static |
System property which specifies the location of the truststore to be used for connecting to a realm server over SSL.
If this property is set, it will be used instead of javax.net.ssl.trustStore
.
The value of this property can be overridden by setTruststore(String, String).
|
static |
System property which specifies the Universal Messaging JVM-wide socket write handling.
The valid values for it are:
standard
(default) - enables a peak write handler which is most optimised for both latency and throughput. It uses direct to socket writing until a certain number of socket writes per second occurs, at which point it switches to queued write handing until the rate of messages comes back down. direct
- enables a write handler which writes events directly to the socket layer and never queues events. This can have an impact on latency if the throughput is higher than the socket layer can accept. queue
- enables a write handler that never writes directly to the socket layer, but pushes all events into an in-memory queue. The events are then written to the socket layer by another thread in batches, which increases latency. However, if there are high amounts of events being written, this mode will save latency from spiking far higher.