IBM App Connect Enterprise, Version 11.0.0.2 Operating Systems: Windows, Linux


JMS Providers policy (JMSProviders)

Use a JMS Providers policy to configure connections details on message flows to JMS providers. Templates are provided for a variety of JMS providers.

You use JMS nodes in a message flow to send and receive messages to and from JMS destinations. JMS destinations are accessed through a connection to a JMS provider. You can use a JMS Providers policy to control, at run time, connection details to different JMS providers. A number of templates are provided for supported providers that provide relevant default values.

To attach a JMS Providers policy to a JMS node, set the JMS provider name property of the JMSInput, JMSOutput, JMSReceive, or JMSReply node to the name of the policy, in the format {policyProjectName}:policyName. You must deploy this policy before the associated message flow is started.

The properties of this policy are described in the following table.
Table 1. Properties of the JMS Providers policy
Property Property name in .policyxml file Value
Type 4 driver class JARs URL jarsURL This property specifies a URL for the file location of the JMS provider JAR files. Omit file:// from the URL.

To connect to different versions of the same JMS provider (for example, JBoss), create a JMS Providers policy for each version of the JMS provider, then set this property to a unique path. This property has a default value of default_Path.

Value type: String

Native libraries nativeLibs This property specifies the file location of any libraries that the JMS provider owns. This property has a default value of default_Path.

Value type: String

Proprietary API handler proprietaryAPIHandler This property specifies the name of the IBM-supplied Java class to interface with a proprietary API of a JMS provider. The default value is default_none.

Value type: String

Proprietary API attributes 1-5

proprietaryAPIAttr1
proprietaryAPIAttr2
proprietaryAPIAttr3
proprietaryAPIAttr4
proprietaryAPIAttr5

The usage of these optional properties is specific to a vendor interface and their meaning is determined by the IBM proprietary API Handler. You might use these attributes on one or more method calls to the vendor proprietary API. These properties have a default value of default_none.

Value type: String

JNDI environment parameters jndiEnvironmentParms This property contains a list of JNDI environment parameters that are expressed as name-value pairs, and separated by semicolons. Use these parameters in JMSInput, JMSOutput, and JMSReply nodes. This property has a default value of default_none.

Value type: String

Client acknowledgment batch size clientAckBatchSize This property controls how JMS message flows send a batch acknowledgment of non-transactional messages that have been received. The value of this property is an integer that represents the threshold number of messages received before the batch acknowledgment is sent.

You can use this property in combination with the Client acknowledgment batch interval property. If both properties are set, and the time interval set on Client acknowledgment batch interval has expired, the batch acknowledgment is sent even if the Client acknowledgment batch size threshold for the number of received messages has not been reached.

A batch acknowledgment is also sent in the following circumstances:
  • When no more input messages exist on the JMS server
  • When an error occurs during message processing
  • When the message flow stops

The minimum non-zero value is 2. To disable batch acknowledgment, set Client acknowledgment batch size to 0 and ensure that Client acknowledgment batch interval is set to 0.

This property has a default value of 0.

Value type: Integer

Client acknowledgment batch interval clientAckBatchTime This property controls how JMS message flows send a batch acknowledgment of non-transactional messages that have been received. The value of this property is an integer that represents the length, in milliseconds, of a repeating interval. At the end of each interval, a batch acknowledgment is sent for all unacknowledged non-transactional JMS messages that were received during the preceding interval.

You can use this property in combination with the Client acknowledgment batch size property. If both properties are set, and the threshold set on Client acknowledgment batch size is reached, the batch acknowledgment is sent even if the time interval specified by Client acknowledgment batch interval has not yet expired.

A batch acknowledgment is also sent when:
  • there are no more input messages on the JMS server
  • an error occurs during message processing
  • the message flow stops.

To disable batch acknowledgment, set Client acknowledgment batch interval to 0 and ensure that Client acknowledgment batch size is set to 0.

This property has a default value of 0.

Value type: Integer

JNDI bindings location jndiBindingsLocation This property specifies the location that is used to look up JNDI Administered objects, such as Connection Factories and Destinations. If you set this property, it overrides the property that is set on a node that uses this JMS provider.

Value type: String

Initial context factory initialContextFactory This property specifies the fully qualified class name of the class that is used to perform JNDI lookups. If you set this property, it overrides the property that is set on a node that uses this JMS provider.

If you need additional security, you must set this property (see Securing JMS connections and JNDI lookups).

Value type: String

Handle connection exceptions asynchronously jmsAsyncExceptionHandling This property specifies whether the integration server registers an exception listener on the JMS connection when the connection is created, and handles connection exceptions asynchronously from the main flow. When this property is set to True, the integration server can detect when the connection has been broken and can try to reconnect.

Value type: Boolean

Connection factory name connectionFactoryName This property specifies the name of the connection factory that is used to create a connection to the JMS provider. If you set this property, it overrides the property on a node that uses this JMS provider, but it can be overridden by a local environment override.

If you need additional security, you must set this property (see Securing JMS connections and JNDI lookups).

Value type: String

XA is supported jmsProviderXASupport This property indicates whether the selected JMS provider supports XA coordinated transactions (see Configuring JMS and SOAP nodes to support globally coordinated transactions). The default value for this property is True.

If you set this property to True, and the selected JMS provider does not support XA transactions, an exception is raised. If you set this property to False, but the Transaction mode property on the node is set to Yes and the Coordinated Transaction message flow property is selected, an exception is raised.

Value type: Boolean

JNDI environment object jndiEnvironmentObject This property defines an object that can be used for JNDI administered objects in the following format:
object type>:name=<name of object env>
where <object type> is java.util.Vector and <name of object env> is the name that is given to the vector. For example:
java.util.Vector:name=com.tibco.tibjms.naming.ssl_trusted_certs

The string values for the vector are defined in the JNDI environment object parameters 1-5 property.

Value type: String

JNDI environment object parameters 1-5

jndiEnvironmentObjectParm1
jndiEnvironmentObjectParm2
jndiEnvironmentObjectParm3
jndiEnvironmentObjectParm4
jndiEnvironmentObjectParm5

This property defines the values that are added to the vector that is specified in the JNDI environment object property.

Value type: String


py00118_.htm | Last updated 2018-11-02 14:46:47