JBoss Community Archive (Read Only)

EJB Client Library (AS7+)

Overview of Client properties

Client configuration properties

The client might be configured by using the jboss-ejb-client.properties file or a programatic approach by using the PropertiesBasedEJBClientConfiguration. The properies can be used in both cases.

Global properties

This properties are vaild for the whole library in the same Scope

Property Name

Description

endpoint.name

A name of the client endpoint, if not set it will be default to 'client-endpoint'.
Can be helpful to distinguish different endpoint settings because the thread name contain this property.

remote.connectionprovider.create.options.org.xnio.Options.SSL_ENABLED

Boolean value whether SSL protocol is enabled for all connections

deployment.node.selector

The full qualified name of an implementation of org.jboss.ejb.client.DeploymentNodeSelector.
It will be used to load balance the invocation for EJBs.

invocation.timeout

A timeout in milliseconds for EJB invocation request/response cycle, i.e. handshake or method invocation.
The invocation of any method throws an java.util.concurrent.TimeoutException if the execution take longer than the timeout, the server side will not be interrupted and the execution will finish.

reconnect.tasks.timeout

The timeout for the background reconnect tasks.
If there are a number of connections down for whatever reason the next EJB invokation of the client will have an algorithm which decide that a reconnect might be necessary to find the right node. So it triggers a number of threads in background (depends how much reconnect tasks are available) and waits for a maximum of reconnect.tasks.timeout. If the reconnect of those completes (either failure or success) within that time then it waits no more so at a maximum the main thread will "block" for that long. The default value is 10 seconds (10000 ms).  The value is in milliseconds, if a value of <=0 is provided, it will default to 10 seconds. As with other properties, these should be provided as Strings.

org.jboss.ejb.client.scoped.context

Boolean value (false). If set to true it will enable scoped EJB client context (introduced in AS7.2) which will be tied to the JNDI context, otherwise the EJB client context will use the global selector in the JVM to determine the properties to call the remote EJB and host.

Connection specific properties

This properties start with the prefix 'remote.connection.<connection-name>.' where the connection-name is a local identifer, only used by the client-configuration, to separate the settings for each connection.

connection property name

description

remote.connections

A list of active connection-names, separated by ',', each connection is configured by using this name

...host

The hostname or IP for the connection

...port

The port for the connection (server use 4447 by default)

...username

A user name for the connection security

...password

The password to authenticate the user

...connect.timeout

The timeout for initial connection timeout. Defaults to 5 seconds
After that the reconnect task will periodically check whether the connection can be established.

...callback.handler.class

Full qualified name of the CallbackHandler class. It will be used to establish the connection, but can not changed as long as the connection is open.

...channel.options.org.jboss.remoting3.RemotingOptions.MAX_OUTBOUND_MESSAGES

A Integer value how many messages (requests) can be send through this channel in parallel until the next will be blocked. The default is 80.
There is only one connection from the client (JVM) to the server to handle all invocations.

...channel.options.org.jboss.remoting3.RemotingOptions.MAX_INBOUND_MESSAGES

A Integer value how many messages (requests) via this channel are possible to receive in parallel

...connect.options.org.xnio.Options.SASL_POLICY_NOANONYMOUS

Boolean value (default=true), if it is set to true credentials must be given in the client to connect successful. false will allow the invocation if the remoting-connector does not request a security-realm.

...connect.options.org.xnio.Options.SASL_DISALLOWED_MECHANISMS

Disables certain SASL mechanisms used for authenticating during connection creation.
JBOSS-LOCAL-USER;  means the silent authentication mechanism used when the client and server are on the same machine, is disabled.

...connect.options.org.xnio.Options.SASL_POLICY_NOPLAINTEXT

Boolean, enables/disables the use of plain text messages during the authentication, i.e. if JAAS it must be set to false to use a plain text password.

...connect.options.org.xnio.Options.SSL_ENABLED

Boolean value whether SSL protocol is enabled for this connection.

...connect.options.org.jboss.remoting3.RemotingOptions.HEARTBEAT_INTERVAL

The interval to use for connection heartbeat, in milliseconds.  If the connection is idle in the outbound direction for this amount of time, a ping message will be sent, which will trigger a corresponding reply message to avoid automatic closure (i.e. firewall).

cluster related properties

If the initial connection connects to a clustered environment the topologie of the cluster will be received automatically asynchronous to the invocation. The properties are used to connect to each received member.

Each property start with the prefix 'remote.cluster.<cluster-name>.' where cluster-name is related to the servers infinispan subsystem configuration.

cluster property name

description

...clusternode.selector

The full qualified name of an implementation of org.jboss.ejb.client.ClusterNodeSelector.
It will be used to load balance the invocations if the EJB has an affinity to a cluster, instead of the DeploymentNodeSelector.
The affinity is set by the server, there is no explicit setting of affinities by user code.
ClusteredBeans have a hard affinity to the cluster, if the cluster is complete down the invocation will fail with 'no ejb receiver available'.

...channel.options.org.jboss.remoting3.RemotingOptions.MAX_OUTBOUND_MESSAGES

A Integer value how many request are possible to the whole cluster.

....node.<node-name>.
channel.options.org.jboss.remoting3.RemotingOptions.MAX_OUTBOUND_MESSAGES

A Integer value how many request are possible to this specific cluster-node.
TODO: unclear how to set the node-name EJBCLIENT-20 EJBCLIENT23

JBoss.org Content Archive (Read Only), exported from JBoss Community Documentation Editor at 2020-03-10 12:24:52 UTC, last content change 2019-11-19 08:35:18 UTC.