Create a properties file based on your requirements for WebSphere® eXtreme Scale client processes.
Sample client properties file
You
can use the sampleClient.properties file that
is in the wxs_home/properties directory
to create your properties file.
You can use the Client.Net.properties file
that is in the net_client_home\config\ directory
to create your properties file.
Specifying a client properties file for Java clients
You can specify
the client properties file in one of the following ways. Specifying
a setting by using one of the items later in the list overrides the
previous setting. For example, if you specify a system property value
for the client properties file, the properties in that file override
the values in the objectGridClient.properties file
that is in the class path.
- As a well-named file anywhere in the WebSphere Application Server class path. Putting this
file in the system current directory is not supported:
objectGridClient.properties
- As a system property in either a stand-alone or WebSphere Application Server configuration. This value
can specify a file in the system current directory, but not a file
in the class path:
-Dobjectgrid.client.props=file_name
Note: In
a WebSphere Application Server configuration,
the client properties file must be in the classpath if you want to
specify a particular client properties file to use with the system
property; for example, was_root/properties or profile_root/properties,
depending on whether you want the properties file to apply to a specific
profile, or the entire installation.
- As a programmatic override using the ClientClusterContext.getClientProperties method.
The data in the object is populated with the data from the properties
files. You cannot configure security properties with this method.
![[.net programming language only]](./icons/ngnet.gif)
Specifying a client
properties file for WebSphere eXtreme Scale Client for .NET
The
default client properties file is in the net_client_home\config\Client.Net.properties directory.
If you want to specify your own property files, supply the full property
file path to each Connect method call.
IGridManager gm = GridManagerFactory.GetGridManager( );
ICatalogDomainInfo cdi = gm.CatalogDomainManager.CreateCatalogDomainInfo( "localhost:2809" );
ccc = gm.Connect( cdi, @"C:\MyLocation\MyClient.properties" );
grid = gm.GetGrid( ccc, gridName );
Client properties
- Client properties
![[.net programming language only]](./icons/ngnet.gif)
enableDynamicConfiguration
- When set to true, any changes that are
made to the requestRetryTimeout property in the client properties
file are detected dynamically. The new property value is used immediately
to calculate the new request retry timeout value.
Default: false
listenerHost
Specifies
the host name to which the Object Request Broker (ORB) or eXtremeIO (XIO) transport protocol
binds for communication. The value must be a fully qualified domain
name or IP address. If your configuration involves multiple network
cards, set the listener host and port to let the transport mechanism
in the JVM know the IP address for which to bind. If you do not specify
which IP address to use, symptoms such as connection timeouts, unusual
API failures, and clients that seem to hang can occur.
listenerPort
- Specifies the port number to which the
Object Request Broker or the eXtremeIO
(XIO) transport protocol binds for communication. The port number that is defined for listenerPort
is used for communication between a client and a catalog server, and
communication between a container server and a catalog server that
are in the same domain. It is also used for interdomain and intradomain
communication between catalog servers.
Default: 2809
Note: When
a data grid server is run inside WebSphere Application Server and
the ORB transport protocol is being used, another port ORB_LISTENER_ADDRESS
must also be opened. The BOOTSTRAP_ADDRESS port forwards requests
to this port. If you are using the XIO
transport protocol, the XIO_ADDRESS port must be opened.
preferLocalProcess
- This property is not currently used. It is reserved for future
use.
preferLocalHost
- This property is not currently used. It is reserved for future
use.
![[Java programming language only]](./icons/ngjava.gif)
preferZones
- Specifies a list of preferred routing zones. Each specified zone
is separated by a comma in the form: preferZones=ZoneA,ZoneB,ZoneC
Default:
no value
![[Java programming language only]](./icons/ngjava.gif)
requestRetryTimeout
- Specifies how long to continue processing a request (in milliseconds)
after an exception occurs. Use one of the following valid values:
- A value of 0 indicates that the request
should fail fast and skip over the internal retry logic.
- A value of -1 indicates that the request
retry timeout is not set, meaning that the request duration is governed
by the transaction timeout. (Default). The following levels of checking
the request retry timeout are used to determine the default behavior:
- Session instance requestRetryTimeout value
- Client properties file requestRetryTimeout value
- If neither of the previous values are set, then the lowest value
between the transaction timeout value and 30 seconds is selected.
For example, if the transaction timeout value has the default value
of 10 minutes, then the request times out at 30 seconds. Alternatively,
if you set the transaction timeout value to 20 seconds, then the request
times out after 20 seconds.
- A value over 0 indicates the request entry
timeout value in milliseconds. Exceptions that are not successfully
created are returned. Even when exceptions, such as DuplicateException,
are tried again, they are also returned when they do not succeed.
The transaction timeout is still used as the maximum time to wait.
![[Java programming language only]](./icons/ngjava.gif)
![[.net programming language only]](./icons/ngnet.gif)
shuffleBootstrapAddresses
- Specifies if the catalog service addresses should be randomized
when used by a client while bootstrapping to the data grid. The values
must be either true or false.
Default: true
![[Java programming language only]](./icons/ngjava.gif)
xioTimeout
- Specifies the timeout value, in seconds, for outbound socket connection
attempts by eXtremeIO. It is also used as a default timeout for internal
eXtremeIO logic.
![[Java programming language only]](./icons/ngjava.gif)
xioRequestTimeout
- Specifies how many seconds any request waits for a response before
giving up. This property influences the amount of time a client takes
to fail over if a network outage failure occurs. If you set this property
too low, requests might time out inadvertently. Carefully consider
the value of this property to prevent inadvertent timeouts.
Security client properties
- General security properties
![[Java programming language only]](./icons/ngjava.gif)
securityEnabled
- Enables WebSphere eXtreme Scale client
security. This setting should match with the securityEnabled setting
in theWebSphere eXtreme Scale server properties
file. If the settings do not match, the client connection to the data
grid fails.
Default: false
- Credential authentication configuration properties
![[Java programming language only]](./icons/ngjava.gif)
credentialAuthentication
- Specifies the client credential authentication support. Use one
of the following valid values:
- Never: The client does not support credential
authentication.
- Supported: The client supports credential
authentication if the server also supports credential authentication.
(Default)
- Required: The client requires credential
authentication.
![[Java programming language only]](./icons/ngjava.gif)
authenticationRetryCount
- Specifies the number of times that authentication is tried if
the credential is expired. If the value is set to 0, attempts to authenticate
are not tried again.
Default: 3
![[.net programming language only]](./icons/ngnet.gif)
credentialGeneratorAssembly
- Specifies the name of the assembly that is used to generate credentials
for the WebSphere eXtreme Scale Client for .NET. To
specify this property, the credentialAuthentication property must
be set to Supported or Required.
The value must be a valid C# .dll assembly name
with version, culture and other properties included.
Example: IBM.WebSphere.Caching.CredentialGenerator,
Version=8.6.0.0, Culture=neutral, PublicKeyToken=b439a24ee43b0816
![[Java programming language only]](./icons/ngjava.gif)
credentialGeneratorClass
- Specifies the name of the class that implements the com.ibm.websphere.objectgrid.security.plugins.CredentialGenerator interface.
To specify this property, the credentialAuthentication property must
be set to Supported or Required.
This class is used to get credentials for clients.
Default: no value
![[Java programming language only]](./icons/ngjava.gif)
credentialGeneratorProps
- Specifies the properties for the CredentialGenerator implementation
class. The properties are set to the object with the setProperties(String) method.
To specify this property, the credentialAuthentication property must
be set to Supported or Required.
The credentialGeneratorprops value is used only if the value of the
credentialGeneratorClass property is not null.
- Transport layer security configuration properties
![[Java programming language only]](./icons/ngjava.gif)
transportType
- Specifies the client transport type. The possible values are:
- TCP/IP: Indicates that the client only
supports TCP/IP connections.
- SSL-Supported: Indicates that the client
supports both TCP/IP and Secure Sockets Layer (SSL) connections. (Default)
Restriction: (Version
8.6.0.0 and Version 8.6.0.1 only) You cannot use the SSL-supported
setting with IBM eXtremeIO (XIO) configurations.
- SSL-Required: Indicates that the client
requires SSL connections.
- SSL configuration properties
alias
- Specifies the alias name in the keystore. This property is used
if the keystore has multiple key pair certificates and you want to
select one of the certificates.
Default: no value
contextProvider
- Specifies the name of the context provider for the trust service.
If you indicate a value that is not valid, a security exception results
that indicates that the context provider type is incorrect.
Valid
values: IBMJSSE2, IBMJSSE, IBMJSSEFIPS,
and so on.
keyStore
- Specifies a fully qualified path to the keystore file.
Example:
etc/test/security/client.private
keyStoreType
- Indicates the type of keystore. If you indicate a value that is
not valid, a runtime security exception occurs.
Valid values: JKS, JCEK, PKCS12,
and so on.
![[Java programming language only]](./icons/ngjava.gif)
protocol
- Indicates the type of security protocol to use for the client.
Set this protocol value based on which security provider you use.
If you indicate a value that is not valid, a security exception results
that indicates that the protocol value is incorrect.
Valid
values: SSL, SSLv3, TLS, TLSv1,
and so on.
Valid values: SSLv2, SSLv3, TLS or Default (SSLv3
or TLS1.0)
![[.net programming language only]](./icons/ngnet.gif)
publicKeyFile
- Specifies a fully-qualified path name to a file that contains
the exported public key from the server.
Example: c:\tmp\wxs\serverA.cer
trustStoreType
- Indicates the type of truststore. If you indicate a value that
is not valid, a runtime security exception results.
Valid values: JKS, JCEK, PKCS12,
and so on.
trustStore
- Specifies a fully qualified path to the truststore file.
Example:
etc/test/security/server.public
keyStorePassword
- Specifies the string password to the keystore. You can encode
this value or use the actual value.
trustStorePassword
- Specifies a string password to the truststore. You can encode
this value or use the actual value.