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.
JMS Providers policies cannot be redeployed while applications and message flows are using them. If you want to change and redeploy this type of policy, you must restart all applications as part of the deploy operation, by specifying the --restart-all-applications parameter on the mqsideploy or ibmint deploy command.
| 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, which means that no value is set and is equivalent to leaving the property blank. If a non-blank value is specified for the
jarsURL property (not 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, which means
that no value is set and is equivalent to leaving the property blank. 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,
which means that no value is set and is equivalent to leaving the property blank. 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, which means that no value is set and is equivalent to leaving
the property blank. 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, which means that no value is set and is equivalent to leaving
the property blank. 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:
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:
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: where
<object type> is java.util.Vector and <name of
object env> is the name that is given to the vector. For
example: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 |
| Use JAR files that are deployed in a .bar file | useDeployedJars | This property specifies whether to use the JMS provider Java classes in JAR files
that are deployed in a BAR file, in the scope of the application (either in the application or
included static libraries). The default value is False. If a non-blank
value is specified for the jarsURL property (not Value type: Boolean |