com.neeve.solace
Class SolaceBindingProperties

java.lang.Object
  extended by com.neeve.solace.SolaceBindingProperties

public class SolaceBindingProperties
extends Object

This class defines bus provider property names that can be specified in a binding descriptor to configure the solace connection.

Passed Through Properties

The provider specific properties configured for the binding are passed through to the solace connection as follows:

Rationalized Properties

To make is easier for applications to switch between using the jni (c) and jcsmp (java) binding implementations, several commonly used binding properties are automatically translated by the binding. These are summarized in the table below. If your application doesn't use any additional solace configuration properties then switching between the java a c
Binding PropertyJCSMP PropertyCCSMP Property
"vpn_name""jcsmp.vpn_name""SESSION_VPN_NAME"
"username""jcsmp.usename""SESSION_USERNAME"
"password""jcsmp.password""SESSION_PASSWORD"
"publish_window_size""jcsmp.pub_ack_window_size""SESSION_PUB_WINDOW_SIZE"
"reconnect_retry_count""jcsmp.CLIENT_CHANNEL_PROPERTIES.ReconnectRetries""SESSION_RECONNECT_RETRIES"
"connect_retry_count""jcsmp.CLIENT_CHANNEL_PROPERTIES.ConnectRetries""SESSION_CONNECT_RETRIES"
"tcp_nodelay""jcsmp.CLIENT_CHANNEL_PROPERTIES.tcpNoDelay""SESSION_TCP_NODELAY"
"reapply_subscriptions""jcsmp.REAPPLY_SUBSCRIPTIONS""SESSION_REAPPLY_SUBSCRIPTIONS"
"ignore_subscriptions_error""jcsmp.IGNORE_DUPLICATE_SUBSCRIPTION_ERROR""SESSION_IGNORE_DUP_SUBSCRIPTION_ERROR"
MessageBusDescriptor.PROPNAME_ADDRESS
(the value from the bus descriptor address)
"jcsmp.HOST""SESSION_HOST"

Auto Tuning

When not explicitly as binding property, the following properties are automatically set on the binding based on the global optimization value.
Binding Propertynv.optimizefor=latencynv.optimizefor=throughputno optimization
"tcp_nodelay"truefalsefalse
"detached_sends_queue_wait_strategy" See XRuntime.createWaitStrategy See XRuntime.createWaitStrategy Blocking
"detached_dispatch_queue_wait_strategy" See XRuntime.createWaitStrategy See XRuntime.createWaitStrategy Blocking


Field Summary
static String CLIENT_NAME_PROPNAME
          The unique client name to use to identify the session on the appliance.
static int CONNECT_RETRIES_DEFAULT
          Default value for CONNECT_RETRIES_PROPNAME.
static String CONNECT_RETRIES_PROPNAME
          Property controlling the of attempts made to establish a connection.
static String CONSUMER_CPU_AFFINITY_MASK_DEFAULT
          Default value for CONSUMER_CPU_AFFINITY_MASK_PROPNAME.
static String CONSUMER_CPU_AFFINITY_MASK_PROPNAME
          Configures the cpu affinity mask for the solace consumer session's receiving 'Context' thread.
static String DETACHED_DISPATCH_CPU_AFFINITY_MASK_DEFAULT
          Default value for DETACHED_DISPATCH_CPU_AFFINITY_MASK_PROPNAME.
static String DETACHED_DISPATCH_CPU_AFFINITY_MASK_PROPNAME
          Configures the cpu affinity mask for detached dispatcher thread.
static boolean DETACHED_DISPATCH_DEFAULT
          Default value for DETACHED_DISPATCH_PROPNAME.
static String DETACHED_DISPATCH_PROPNAME
          Configures the binding to create a detached dispatch thread for received messages.
static int DETACHED_DISPATCH_QUEUE_DEPTH_DEFAULT
          Default value for DETACHED_DISPATCH_QUEUE_DEPTH_PROPNAME.
static String DETACHED_DISPATCH_QUEUE_DEPTH_PROPNAME
          Configures the (disruptor) queue wait strategy for the detached send thread.
static String DETACHED_DISPATCH_QUEUE_WAIT_STRATEGY_PROPNAME
          Configures the (disruptor) queue wait strategy for the detached dispatch send thread.
static String DETACHED_SENDS_CPU_AFFINITY_MASK_DEFAULT
          Default value for SENDER_CPU_AFFINITY_MASK_PROPNAME.
static String DETACHED_SENDS_CPU_AFFINITY_MASK_PROPNAME
          Configures the cpu affinity mask for detached sender thread.
static boolean DETACHED_SENDS_DEFAULT
          Default value for DETACHED_SENDS_PROPNAME.
static String DETACHED_SENDS_PROPNAME
          Configures the binding to create a detached sending thread for published messages.
static int DETACHED_SENDS_QUEUE_DEPTH_DEFAULT
          Default value for DETACHED_SENDS_QUEUE_DEPTH_PROPNAME.
static String DETACHED_SENDS_QUEUE_DEPTH_PROPNAME
          Configures the (disruptor) queue depth when detached sends are enabled.
static String DETACHED_SENDS_QUEUE_WAIT_STRATEGY_PROPNAME
          Configures the (disruptor) queue wait strategy for the detached send thread.
static boolean ENABLE_SEMP_DEFAULT
          Default value for ENABLE_SEMP_PROPNAME.
static String ENABLE_SEMP_PROPNAME
          Property controlling whether or not Solace semp over messaging requests are enabled.
static boolean FAIL_ON_INBOUND_MESSAGE_HANDLING_FAULT_DEFAULT
          Default value for FAIL_ON_INBOUND_MESSAGE_HANDLING_FAULT_DEFAULT.
static String FAIL_ON_INBOUND_MESSAGE_HANDLING_FAULT_PROPNAME
          Property controlling whether an inbound message handling fault will result in binding failure.
static boolean IGNORE_SUBSCRIPTION_ERRORS_DEFAULT
          Default value for IGNORE_SUBSCRIPTION_ERRORS_PROPNAME.
static String IGNORE_SUBSCRIPTION_ERRORS_PROPNAME
          Sets the solace property to ignore subscription errors.
static String ORPHAN_SUBSCRIPTION_CHECK_DEFAULT
          Default value for ORPHAN_SUBSCRIPTION_CHECK_PROPNAME.
static String ORPHAN_SUBSCRIPTION_CHECK_PROPNAME
          Property controlling the orphan subscription check policy.
static String PRODUCER_CPU_AFFINITY_MASK_DEFAULT
          Default value for PRODUCER_CPU_AFFINITY_MASK_PROPNAME.
static String PRODUCER_CPU_AFFINITY_MASK_PROPNAME
          Configures the cpu affinity mask for the solace producer session's receiving 'Context' thread.
static boolean PROVISION_QUEUE_DEFAULT
          Default value for PROVISION_QUEUE_PROPNAME.
static String PROVISION_QUEUE_PROPNAME
          Property controlling whether an attempt is made to provision the queue.
static int PUB_WINDOW_SIZE_DEFAULT
          Default value for PUB_WINDOW_SIZE_PROPNAME.
static String PUB_WINDOW_SIZE_PROPNAME
          Property controlling the solace publish window size.
static String QUEUE_NAME_DEFAULT
          Default value for QUEUE_NAME_PROPNAME.
static String QUEUE_NAME_PROPNAME
          Property controlling the solace queue name to use.
static int QUEUE_QUOTA_DEFAULT
          Default value for QUEUE_QUOTA_PROPNAME Mb.
static String QUEUE_QUOTA_PROPNAME
          Property controlling the queue quota to set when provisioning a queue (in Mb).
static boolean REAPPLY_SUBSCRIPTIONS_DEFAULT
          Default value for REAPPLY_SUBSCRIPTIONS_PROPNAME seconds.
static String REAPPLY_SUBSCRIPTIONS_PROPNAME
          Solace property controlling whether established subscriptions are reapplied on a reconnect.
static int RECONNECT_RETRIES_DEFAULT
          Default value for RECONNECT_RETRIES_DEFAULT.
static String RECONNECT_RETRIES_PROPNAME
          Property controlling the of retry attempts made to reestablish a connection.
static int SEMP_REQUEST_TIMEOUT_DEFAULT
          Default value for SEMP_REQUEST_TIMEOUT_PROPNAME milliseconds.
static String SEMP_REQUEST_TIMEOUT_PROPNAME
          Property controlling what timeout to use for semp requests in milliseconds.
static String SEMP_VERSION_DEFAULT
          Default value for SEMP_VERSION_PROPNAME.
static String SEMP_VERSION_PROPNAME
          Property controlling what semp version to send in semp requests.
static int SEMP_VPN_INDEX_DEFAULT
          Default value for SEMP_VPN_INDEX_PROPNAME milliseconds.
static String SEMP_VPN_INDEX_PROPNAME
          Property controlling what vpn index to use when performing paged requests.
static String SENDER_CPU_AFFINITY_MASK_DEFAULT
          Deprecated. use instead
static String SENDER_CPU_AFFINITY_MASK_PROPNAME
          Deprecated. use instead
static int SESSION_OPEN_RETRY_COUNT_DEFAULT
          Default value for SESSION_OPEN_RETRY_COUNT_PROPNAME.
static String SESSION_OPEN_RETRY_COUNT_PROPNAME
          Indicates the number of times the binding will attempt to establish a session in the face of potentially transient errors.
static int SESSION_OPEN_RETRY_INTERVAL_DEFAULT
          Default value for SESSION_OPEN_RETRY_INTERVAL_PROPNAME seconds.
static String SESSION_OPEN_RETRY_INTERVAL_PROPNAME
          Indicates the interval between SESSION_OPEN_RETRY_COUNT_PROPNAME attempts (in seconds).
static boolean SINGLE_SESSION_DEFAULT
          Default value for SINGLE_SESSION_PROPNAME.
static String SINGLE_SESSION_PROPNAME
          Property controlling whether a single session should be established.
static int SMA_METADATA_VERSION_DEFAULT
          Default value for SMA_METADATA_VERSION_PROPNAME (1).
static String SMA_METADATA_VERSION_PROPNAME
          Property controlling the sma metadata version to use.
static String SUBSCRIPTION_VALIDATOR_CLASSNAME_PROPNAME
          Can be used to be used to register a callback for validating subscriptions.
static String TCP_NODELAY_PROPNAME
          Sets whether the solace connection will use tcp no delay (disable Nagles).
static boolean USE_DEFAULT_QUEUE_NAME_AS_DEFAULT_CLIENT_NAME_DEFAULT
          Default value for USE_DEFAULT_QUEUE_NAME_AS_DEFAULT_CLIENT_NAME_PROPNAME.
static String USE_DEFAULT_QUEUE_NAME_AS_DEFAULT_CLIENT_NAME_PROPNAME
          Property indicating that the queue name should also be used as the client name.
static boolean USE_DEFAULT_QUEUE_NAME_DEFAULT
          Default value for USE_DEFAULT_QUEUE_NAME_DEFAULT.
static String USE_DEFAULT_QUEUE_NAME_PROPNAME
          Indicates whether or not the default queue name should be used.
static boolean USE_JNI_BINDING_DEFAULT
          Default value for USE_JNI_BINDING_PROPNAME.
static String USE_JNI_BINDING_PROPNAME
          Property name used to indicate whether the JNI based solace binding implementation should be used.
static String VPN_NAME_PROPNAME
          The vpn name to connect to on the solace appliance.
static String VPN_PASSWORD_PROPNAME
          The password used to authenticate the solace session.
static String VPN_USERNAME_PROPNAME
          The username used to authenticate the solace session.
 
Constructor Summary
SolaceBindingProperties()
           
 
Method Summary
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

USE_JNI_BINDING_PROPNAME

public static final String USE_JNI_BINDING_PROPNAME
Property name used to indicate whether the JNI based solace binding implementation should be used.

The JNI binding is capable of operating in a zero garbage mode making it appropriate for low latency applications, but it is currently only supported on linux platforms.

Parameter Name: "usejni"
Default Value: false

See Also:
Constant Field Values

USE_JNI_BINDING_DEFAULT

public static final boolean USE_JNI_BINDING_DEFAULT
Default value for USE_JNI_BINDING_PROPNAME.

See Also:
Constant Field Values

SINGLE_SESSION_PROPNAME

public static final String SINGLE_SESSION_PROPNAME
Property controlling whether a single session should be established.

To avoid network flow control deadlocks and improve throughput, two sessions are used for each solace binding created: one for consuming and one for producing. The consumer session's client name is suffixed with "-IN" and the producer session is suffixed with "-OUT".

For applications that do messaging in a unidirectional fashion that would thus not be at risk for such deadlocks this property can be set to true to use a single session (which uses fewer threads and resources).

Parameter Name: "single_session"
Default Value: false

See Also:
CLIENT_NAME_PROPNAME, Constant Field Values

SINGLE_SESSION_DEFAULT

public static final boolean SINGLE_SESSION_DEFAULT
Default value for SINGLE_SESSION_PROPNAME.

See Also:
Constant Field Values

QUEUE_NAME_PROPNAME

public static final String QUEUE_NAME_PROPNAME
Property controlling the solace queue name to use.

A solace queue must be provisioned for the binding to support guaranteed messaging (the queue will hold messages for the application while it is disconnected).

When this property is not specified in the binding properties, then a default queue name is generated (see QUEUE_NAME_DEFAULT unless the property USE_DEFAULT_QUEUE_NAME_PROPNAME is set to false.

When the value of this property is specified but blank (empty string or whitespace) then it is interpretted as to mean that a queue should not be used. In effect a blank queue name is thus treated as if USE_DEFAULT_QUEUE_NAME_PROPNAME is set to false with no value being provided.

If the queue does not exist on the appliance, cannot be provisioned, or the binding is configured with "provision_queue" as false, then a warning will be logged, but binding creation will otherwise succeed. In other words the onus is the user to ensure that the queue for the application is already provisioned or that the appliance supports endpoint management that allows the queue to be provisioned.

Parameter Name: "provision_queue"
Default Value: true

See Also:
Constant Field Values

QUEUE_NAME_DEFAULT

public static final String QUEUE_NAME_DEFAULT
Default value for QUEUE_NAME_PROPNAME.

The default value for the queue name is 'X-SMA-{name}-{userName}' where:

See Also:
Constant Field Values

USE_DEFAULT_QUEUE_NAME_PROPNAME

public static final String USE_DEFAULT_QUEUE_NAME_PROPNAME
Indicates whether or not the default queue name should be used.

Disabling this property without explicitly setting the "queue_name" in the binding properties means that a queue will not be used or provisioned for the binding which will mean that Guaranteed messaging Qos will be compromised.

Parameter Name: "use_default_queue_name"
Default Value: true

See Also:
Constant Field Values

USE_DEFAULT_QUEUE_NAME_DEFAULT

public static final boolean USE_DEFAULT_QUEUE_NAME_DEFAULT
Default value for USE_DEFAULT_QUEUE_NAME_DEFAULT.

See Also:
Constant Field Values

CLIENT_NAME_PROPNAME

public static final String CLIENT_NAME_PROPNAME
The unique client name to use to identify the session on the appliance.

The client names are used as a prefix for the name SINGLE_SESSION_PROPNAME is false. See SINGLE_SESSION_PROPNAME for an explanation.

This is a solace property. See the solace documentation for additional details.

Parameter Name: "client_name"
Default Value: if USE_DEFAULT_QUEUE_NAME_AS_DEFAULT_CLIENT_NAME_PROPNAME is set then this is used as the client name, otherwise the username used to create the binding is used.

Solace Property Translation:
JSCMP Property Name: jcsmp.client_name
CCSMP Property Name: SESSION_CLIENT_NAME

See Also:
SINGLE_SESSION_PROPNAME, Constant Field Values

VPN_NAME_PROPNAME

public static final String VPN_NAME_PROPNAME
The vpn name to connect to on the solace appliance.

This is a solace property. See the solace documentation for additional details.

Parameter Name: "vpn_name"
Default Value: no default

Solace Property Translation:
JSCMP Property Name: jcsmp.VPN_NAME
CCSMP Property Name: SESSION_VPN_NAME

See Also:
Constant Field Values

VPN_USERNAME_PROPNAME

public static final String VPN_USERNAME_PROPNAME
The username used to authenticate the solace session.

This is a solace property. See the solace documentation for additional details.

Parameter Name: "username"
Default Value: Defaults to the vpn name.

Solace Property Translation:
JSCMP Property Name: jcsmp.username
CCSMP Property Name: SESSION_USERNAME

See Also:
Constant Field Values

VPN_PASSWORD_PROPNAME

public static final String VPN_PASSWORD_PROPNAME
The password used to authenticate the solace session.

This is a solace property. See the solace documentation for additional details.

Parameter Name: "password"
Default Value: Defaults to the vpn user name.

Solace Property Translation:
JSCMP Property Name: jcsmp.password
CCSMP Property Name: SESSION_PASSWORD

See Also:
Constant Field Values

USE_DEFAULT_QUEUE_NAME_AS_DEFAULT_CLIENT_NAME_PROPNAME

public static final String USE_DEFAULT_QUEUE_NAME_AS_DEFAULT_CLIENT_NAME_PROPNAME
Property indicating that the queue name should also be used as the client name.

This property indicates that the default queue name should be used for the client name when the client name is not specified for the binding.

Parameter Name: "use_default_queue_name_as_default_client_id"
Default Value: false

See Also:
Constant Field Values

USE_DEFAULT_QUEUE_NAME_AS_DEFAULT_CLIENT_NAME_DEFAULT

public static final boolean USE_DEFAULT_QUEUE_NAME_AS_DEFAULT_CLIENT_NAME_DEFAULT
Default value for USE_DEFAULT_QUEUE_NAME_AS_DEFAULT_CLIENT_NAME_PROPNAME.

See Also:
Constant Field Values

PROVISION_QUEUE_PROPNAME

public static final String PROVISION_QUEUE_PROPNAME
Property controlling whether an attempt is made to provision the queue.

Provisioning of the queue is done on a best effort basis and requires that endpoint management be enabled for the session (an appliance side setting). If the queue can't be provisioned a warning will be logged.

Parameter Name: "provision_queue"
Default Value: true

See Also:
QUEUE_NAME_PROPNAME, QUEUE_NAME_DEFAULT, Constant Field Values

PROVISION_QUEUE_DEFAULT

public static final boolean PROVISION_QUEUE_DEFAULT
Default value for PROVISION_QUEUE_PROPNAME.

See Also:
Constant Field Values

QUEUE_QUOTA_PROPNAME

public static final String QUEUE_QUOTA_PROPNAME
Property controlling the queue quota to set when provisioning a queue (in Mb).

Parameter Name: "queue_quota"
Default Value: 2048

See Also:
PROVISION_QUEUE_PROPNAME, Constant Field Values

QUEUE_QUOTA_DEFAULT

public static final int QUEUE_QUOTA_DEFAULT
Default value for QUEUE_QUOTA_PROPNAME Mb.

See Also:
Constant Field Values

PUB_WINDOW_SIZE_PROPNAME

public static final String PUB_WINDOW_SIZE_PROPNAME
Property controlling the solace publish window size.

This value is defaulted to 255 to improve throughput.

Parameter Name: "publish_window_size"
Default Value: 255

This is a solace property. See the solace documentation for additional details.

Solace Property Translation:
JSCMP Property Name: jcsmp.pub_ack_window_size
CCSMP Property Name: SESSION_PUB_WINDOW_SIZE

See Also:
Constant Field Values

PUB_WINDOW_SIZE_DEFAULT

public static final int PUB_WINDOW_SIZE_DEFAULT
Default value for PUB_WINDOW_SIZE_PROPNAME.

See Also:
Constant Field Values

RECONNECT_RETRIES_PROPNAME

public static final String RECONNECT_RETRIES_PROPNAME
Property controlling the of retry attempts made to reestablish a connection.

Parameter Name: "reconnect_retry_count"
Default Value: 100

This is a solace property. See the solace documentation for additional details.

Solace Property Translation:
JSCMP Property Name: jcsmp.CLIENT_CHANNEL_PROPERTIES.ReconnectRetries
CCSMP Property Name: SESSION_RECONNECT_RETRIES

See Also:
Constant Field Values

RECONNECT_RETRIES_DEFAULT

public static final int RECONNECT_RETRIES_DEFAULT
Default value for RECONNECT_RETRIES_DEFAULT.

See Also:
Constant Field Values

CONNECT_RETRIES_PROPNAME

public static final String CONNECT_RETRIES_PROPNAME
Property controlling the of attempts made to establish a connection.

Parameter Name: "connect_retry_count"
Default Value: 3

This is a solace property. See the solace documentation for additional details.

Solace Property Translation:
JSCMP Property Name: jcsmp.CLIENT_CHANNEL_PROPERTIES.ConnectRetries
CCSMP Property Name: SESSION_CONNECT_RETRIES

See Also:
Constant Field Values

CONNECT_RETRIES_DEFAULT

public static final int CONNECT_RETRIES_DEFAULT
Default value for CONNECT_RETRIES_PROPNAME.

See Also:
Constant Field Values

SESSION_OPEN_RETRY_COUNT_PROPNAME

public static final String SESSION_OPEN_RETRY_COUNT_PROPNAME
Indicates the number of times the binding will attempt to establish a session in the face of potentially transient errors.

This property controls the number of times the binding will attempt to create a session after receiving an error from solace that may be temporary in nature (such as the session being open on on another client that may be in the process of closing). The binding will not attempt reconnects on errors that it deems to be permanent in nature such as:

Parameter Name: "session_open_retry_count"
Default Value: 5

See Also:
Constant Field Values

SESSION_OPEN_RETRY_COUNT_DEFAULT

public static final int SESSION_OPEN_RETRY_COUNT_DEFAULT
Default value for SESSION_OPEN_RETRY_COUNT_PROPNAME.

See Also:
Constant Field Values

SESSION_OPEN_RETRY_INTERVAL_PROPNAME

public static final String SESSION_OPEN_RETRY_INTERVAL_PROPNAME
Indicates the interval between SESSION_OPEN_RETRY_COUNT_PROPNAME attempts (in seconds).

Parameter Name: "session_open_retry_interval"
Default Value: 1

See Also:
Constant Field Values

SESSION_OPEN_RETRY_INTERVAL_DEFAULT

public static final int SESSION_OPEN_RETRY_INTERVAL_DEFAULT
Default value for SESSION_OPEN_RETRY_INTERVAL_PROPNAME seconds.

See Also:
Constant Field Values

REAPPLY_SUBSCRIPTIONS_PROPNAME

public static final String REAPPLY_SUBSCRIPTIONS_PROPNAME
Solace property controlling whether established subscriptions are reapplied on a reconnect.

Parameter Name: "reapply_subscriptions"
Default Value: true

This is a solace property. See the solace documentation for additional details.

Solace Property Translation:
JSCMP Property Name: jcsmp.REAPPLY_SUBSCRIPTION
CCSMP Property Name: SESSION_REAPPLY_SUBSCRIPTIONS

See Also:
Constant Field Values

REAPPLY_SUBSCRIPTIONS_DEFAULT

public static final boolean REAPPLY_SUBSCRIPTIONS_DEFAULT
Default value for REAPPLY_SUBSCRIPTIONS_PROPNAME seconds.

See Also:
Constant Field Values

IGNORE_SUBSCRIPTION_ERRORS_PROPNAME

public static final String IGNORE_SUBSCRIPTION_ERRORS_PROPNAME
Sets the solace property to ignore subscription errors.

See the solace client api documentation for details on this property.

When this this property is set and the jcsmp binding is in use it will additionally set the value of 'jcsmp.IGNORE_SUBSCRIPTION_NOT_FOUND_ERROR'.

Parameter Name: "ignore_subscriptions_error"
Default Value: true

See Also:
Constant Field Values

IGNORE_SUBSCRIPTION_ERRORS_DEFAULT

public static final boolean IGNORE_SUBSCRIPTION_ERRORS_DEFAULT
Default value for IGNORE_SUBSCRIPTION_ERRORS_PROPNAME.

See Also:
Constant Field Values

TCP_NODELAY_PROPNAME

public static final String TCP_NODELAY_PROPNAME
Sets whether the solace connection will use tcp no delay (disable Nagles).

This property can be set to true to improve latency for low latency applications.

Parameter Name: "tcp_nodelay"
Default Value: If optimized for latency, true, otherwise false.

See Also:
Constant Field Values

DETACHED_SENDS_PROPNAME

public static final String DETACHED_SENDS_PROPNAME
Configures the binding to create a detached sending thread for published messages.

Setting this property can improve throughput by offloading the work of marshalling sent messages into a solace message as well as the solace api calls to send the message.

Note Users of a Talon AepEngine should understand that this is separate from the detached send specified for the aep bus. Talon itself allows doing detached commit and send on a bus agnostic basis. Enabling this property in conjuction with detached send in Aep thus results in 2 detached send threads which may or may not be desirable.

Parameter Name: "detached_sends"
Default Value: false

See Also:
Constant Field Values

DETACHED_SENDS_DEFAULT

public static final boolean DETACHED_SENDS_DEFAULT
Default value for DETACHED_SENDS_PROPNAME.

See Also:
Constant Field Values

DETACHED_SENDS_QUEUE_DEPTH_PROPNAME

public static final String DETACHED_SENDS_QUEUE_DEPTH_PROPNAME
Configures the (disruptor) queue depth when detached sends are enabled.

Parameter Name: "detached_sends_queue_depth"
Default Value: 1024

See Also:
Constant Field Values

DETACHED_SENDS_QUEUE_DEPTH_DEFAULT

public static final int DETACHED_SENDS_QUEUE_DEPTH_DEFAULT
Default value for DETACHED_SENDS_QUEUE_DEPTH_PROPNAME.

See Also:
Constant Field Values

DETACHED_SENDS_QUEUE_WAIT_STRATEGY_PROPNAME

public static final String DETACHED_SENDS_QUEUE_WAIT_STRATEGY_PROPNAME
Configures the (disruptor) queue wait strategy for the detached send thread.

Parameter Name: "detached_sends_queue_wait_strategy"
Default Value: The wait strategy is resolved using: XRuntime.createWaitStrategy(String, boolean)

See Also:
Constant Field Values

DETACHED_SENDS_CPU_AFFINITY_MASK_PROPNAME

public static final String DETACHED_SENDS_CPU_AFFINITY_MASK_PROPNAME
Configures the cpu affinity mask for detached sender thread.

Parameter Name: "sender_cpu_affinity_mask"
Default Value: "0"

See Also:
UtlThread.parseAffinityMask(String), Constant Field Values

DETACHED_SENDS_CPU_AFFINITY_MASK_DEFAULT

public static final String DETACHED_SENDS_CPU_AFFINITY_MASK_DEFAULT
Default value for SENDER_CPU_AFFINITY_MASK_PROPNAME.

See Also:
Constant Field Values

SENDER_CPU_AFFINITY_MASK_PROPNAME

@Deprecated
public static final String SENDER_CPU_AFFINITY_MASK_PROPNAME
Deprecated. use instead
Configures the cpu affinity mask for detached sender thread.

Parameter Name: "sender_cpu_affinity_mask"
Default Value: "0"

See Also:
UtlThread.parseAffinityMask(String), Constant Field Values

SENDER_CPU_AFFINITY_MASK_DEFAULT

@Deprecated
public static final String SENDER_CPU_AFFINITY_MASK_DEFAULT
Deprecated. use instead
Default value for SENDER_CPU_AFFINITY_MASK_PROPNAME.

See Also:
Constant Field Values

DETACHED_DISPATCH_PROPNAME

public static final String DETACHED_DISPATCH_PROPNAME
Configures the binding to create a detached dispatch thread for received messages.

When set to true a detached dispatch thread is created that performs deserialization of the solace messages binary payload into a MessageView and dispatch to the application. This can improve throughput by allowing the solace receiver thread to handle exclusively handle the I/O and messaging work.

Parameter Name: "detached_dispatch"
Default Value: false

See Also:
Constant Field Values

DETACHED_DISPATCH_DEFAULT

public static final boolean DETACHED_DISPATCH_DEFAULT
Default value for DETACHED_DISPATCH_PROPNAME.

See Also:
Constant Field Values

DETACHED_DISPATCH_QUEUE_DEPTH_PROPNAME

public static final String DETACHED_DISPATCH_QUEUE_DEPTH_PROPNAME
Configures the (disruptor) queue wait strategy for the detached send thread.

Parameter Name: "detached_dispatch_queue_depth"
Default Value: 128

See Also:
Constant Field Values

DETACHED_DISPATCH_QUEUE_DEPTH_DEFAULT

public static final int DETACHED_DISPATCH_QUEUE_DEPTH_DEFAULT
Default value for DETACHED_DISPATCH_QUEUE_DEPTH_PROPNAME.

See Also:
Constant Field Values

DETACHED_DISPATCH_QUEUE_WAIT_STRATEGY_PROPNAME

public static final String DETACHED_DISPATCH_QUEUE_WAIT_STRATEGY_PROPNAME
Configures the (disruptor) queue wait strategy for the detached dispatch send thread.

Parameter Name: "detached_dispatch_queue_wait_strategy"
Default Value: The wait strategy is resolved using: XRuntime.createWaitStrategy(String, boolean)

See Also:
Constant Field Values

DETACHED_DISPATCH_CPU_AFFINITY_MASK_PROPNAME

public static final String DETACHED_DISPATCH_CPU_AFFINITY_MASK_PROPNAME
Configures the cpu affinity mask for detached dispatcher thread.

Parameter Name: "dispatcher_cpu_affinity_mask"
Default Value: "0"

See Also:
UtlThread.parseAffinityMask(String), Constant Field Values

DETACHED_DISPATCH_CPU_AFFINITY_MASK_DEFAULT

public static final String DETACHED_DISPATCH_CPU_AFFINITY_MASK_DEFAULT
Default value for DETACHED_DISPATCH_CPU_AFFINITY_MASK_PROPNAME.

See Also:
Constant Field Values

CONSUMER_CPU_AFFINITY_MASK_PROPNAME

public static final String CONSUMER_CPU_AFFINITY_MASK_PROPNAME
Configures the cpu affinity mask for the solace consumer session's receiving 'Context' thread.

This property attempts to affinitize the solace client library's receiver thread for this connections consumer session. Note that this is not to be confused with the detached dispatcher thread created by this binding implementation.

Parameter Name: "consumer_cpu_affinity_mask"
Default Value: "0"

See Also:
UtlThread.parseAffinityMask(String), Constant Field Values

CONSUMER_CPU_AFFINITY_MASK_DEFAULT

public static final String CONSUMER_CPU_AFFINITY_MASK_DEFAULT
Default value for CONSUMER_CPU_AFFINITY_MASK_PROPNAME.

See Also:
Constant Field Values

PRODUCER_CPU_AFFINITY_MASK_PROPNAME

public static final String PRODUCER_CPU_AFFINITY_MASK_PROPNAME
Configures the cpu affinity mask for the solace producer session's receiving 'Context' thread.

This property attempts to affinitize the solace client library's receiver thread for this connection's producer session. Note that this is not to be confused with the detached sender thread created by this binding implementation.

Parameter Name: "producer_cpu_affinity_mask"
Default Value: "0"

See Also:
UtlThread.parseAffinityMask(String), Constant Field Values

PRODUCER_CPU_AFFINITY_MASK_DEFAULT

public static final String PRODUCER_CPU_AFFINITY_MASK_DEFAULT
Default value for PRODUCER_CPU_AFFINITY_MASK_PROPNAME.

See Also:
Constant Field Values

SUBSCRIPTION_VALIDATOR_CLASSNAME_PROPNAME

public static final String SUBSCRIPTION_VALIDATOR_CLASSNAME_PROPNAME
Can be used to be used to register a callback for validating subscriptions.

This is an advanced property that should only be used under the direction of Neeve support or professional services.

See Also:
Constant Field Values

FAIL_ON_INBOUND_MESSAGE_HANDLING_FAULT_PROPNAME

public static final String FAIL_ON_INBOUND_MESSAGE_HANDLING_FAULT_PROPNAME
Property controlling whether an inbound message handling fault will result in binding failure.

When there is an inbound message handling fault an UnhandledMessageEvent is dispatched to the application, leaving it to the application to fail the binding if it deems the error is fatal. This property, when set to true will fail the binding unconditionally after the event is dispatched.

Parameter Name: "fail_on_inbound_message_handling_fault"
Default Value: false

See Also:
Constant Field Values

FAIL_ON_INBOUND_MESSAGE_HANDLING_FAULT_DEFAULT

public static final boolean FAIL_ON_INBOUND_MESSAGE_HANDLING_FAULT_DEFAULT
Default value for FAIL_ON_INBOUND_MESSAGE_HANDLING_FAULT_DEFAULT.

See Also:
Constant Field Values

ENABLE_SEMP_PROPNAME

public static final String ENABLE_SEMP_PROPNAME
Property controlling whether or not Solace semp over messaging requests are enabled.

Controls whether or not semp over messaging requests are enabled. This property must be enabled in order to query the solace appliance for existing subscriptions. This requires that the appliance has semp over messaging enabled and that the user is authorized to make semp requests.

NOTE: SEMP operations are currently an experimental feature that is still in incubation. Enabling semp is not recommended in production.

Attempting to enable semp when "usejni" is not supported and the option will be downgraded to false.

Parameter Name: "enable_semp"
Default Value: false

See Also:
Constant Field Values

ENABLE_SEMP_DEFAULT

public static final boolean ENABLE_SEMP_DEFAULT
Default value for ENABLE_SEMP_PROPNAME.

See Also:
Constant Field Values

SEMP_VERSION_PROPNAME

public static final String SEMP_VERSION_PROPNAME
Property controlling what semp version to send in semp requests.

The version of semp requests must match that supported by the messaging appliance. If this property is not set semp requests will be retried using the version reported in the error response if a version mismatch is detected. Setting this property correctly avoids the need to make the initial request to determine the semp version.

NOTE: SEMP operations are currently an experimental feature that is still in incubation. Enabling semp is not recommended in production.

Parameter Name: "semp_version"
Default Value: "soltr/7_1_1"

See Also:
Constant Field Values

SEMP_VERSION_DEFAULT

public static final String SEMP_VERSION_DEFAULT
Default value for SEMP_VERSION_PROPNAME.

See Also:
Constant Field Values

SEMP_REQUEST_TIMEOUT_PROPNAME

public static final String SEMP_REQUEST_TIMEOUT_PROPNAME
Property controlling what timeout to use for semp requests in milliseconds.

The version of semp requests must match that supported by the messaging appliance. If this property is not set semp requests will be retried using the version reported in the error response if a version mismatch is detected. Setting this property correctly avoids the need to make the initial request to determine the semp version.

NOTE: SEMP operations are currently an experimental feature that is still in incubation. Enabling semp is not recommended in production.

Parameter Name: "semp_request_timeout"
Default Value: 10000

See Also:
Constant Field Values

SEMP_REQUEST_TIMEOUT_DEFAULT

public static final int SEMP_REQUEST_TIMEOUT_DEFAULT
Default value for SEMP_REQUEST_TIMEOUT_PROPNAME milliseconds.

See Also:
Constant Field Values

SEMP_VPN_INDEX_PROPNAME

public static final String SEMP_VPN_INDEX_PROPNAME
Property controlling what vpn index to use when performing paged requests.

Because solace doesn't reliably return a "more-cookie" on paged SEMP requests, paged semp requests are issued with a "vpn-id-index-param" of 0, to request the 2nd and subsequent paged requests. If not all results are being returned, this property may be set to a different vpn index.

NOTE: SEMP operations are currently an experimental feature that is still in incubation. Enabling semp is not recommended in production.

Parameter Name: "semp_vpn_index"
Default Value: 0

See Also:
Constant Field Values

SEMP_VPN_INDEX_DEFAULT

public static final int SEMP_VPN_INDEX_DEFAULT
Default value for SEMP_VPN_INDEX_PROPNAME milliseconds.

See Also:
Constant Field Values

ORPHAN_SUBSCRIPTION_CHECK_PROPNAME

public static final String ORPHAN_SUBSCRIPTION_CHECK_PROPNAME
Property controlling the orphan subscription check policy.

This policy controls checks for orphaned Guaranteed subscriptions done when the solace binding is started. The check for orphaned is performed after the bindings subscription are created, but just before messaging is started. The solace appliance is queried for the list of Guaranteed subscriptions on the Queue and compared to the subscriptions that were issued. Any subscriptions on the queue that were not issued by the binding are deemed to be orphans.

When using a policy other than SolaceOrphanSubscriptionCheckPolicy.None, "enable_semp" must be set to true.

NOTE: Orphan subscription checking is currently an experimental feature that is still in incubation. Enabling orphan subscription checks is not recommended for production.

Setting a policy other than 'NoCheck' will result in an exception in binding creation when "usejni" is enabled as SEMP requests are not yet supported in the jni implementation.

Parameter Name: "orphan_subscription_check"
Default Value: "None"
Valid Options: None, Ignore, LogExceptionAndContinue and NoOrphan

See Also:
SolaceOrphanSubscriptionCheckPolicy, Constant Field Values

ORPHAN_SUBSCRIPTION_CHECK_DEFAULT

public static final String ORPHAN_SUBSCRIPTION_CHECK_DEFAULT
Default value for ORPHAN_SUBSCRIPTION_CHECK_PROPNAME.

See Also:
Constant Field Values

SMA_METADATA_VERSION_PROPNAME

public static final String SMA_METADATA_VERSION_PROPNAME
Property controlling the sma metadata version to use.

The solace binding encodes sma MessageMetadata as a binary blob in the message's SDTMap keyed by 'x-sma-metadata'. This property can be used to control the version of the metadata to tag on the message. The metadata version used must be supported by all downstream receivers that inspect the property.

Parameter Name: "sma_metadata_version"
Default Value: 1
Valid Options: A version in the MessageMetadata

See Also:
Constant Field Values

SMA_METADATA_VERSION_DEFAULT

public static final int SMA_METADATA_VERSION_DEFAULT
Default value for SMA_METADATA_VERSION_PROPNAME (1).

See Also:
Constant Field Values
Constructor Detail

SolaceBindingProperties

public SolaceBindingProperties()


Copyright © 2016 Neeve Research, LLC. All Rights Reserved.