CDD Processing Units Tab JMS Server Connection Properties

You can add the JMS server connection properties at the cluster level if they apply to JMS channels in all processing units in the cluster.

See TIBCO BusinessEvents Developer’s Guide for details about configuring a JMS channel.

CDD Processing Units Tab Properties for Reconnecting to a JMS Server
Property Notes
com.tibco.tibjms.connect.attempts
  Specifies the number of reconnection attempts, and the interval between each attempt to connect to the JMS server.

The value must use the format: attempts,retry interval.

For example: 10,500 means 10 attempts, with a 500 millisecond interval between each retry attempt.

This property is used only for channels that have a TIBCO Enterprise Message Service provider.

Note
Use either be.jms.reconnect.timeout or com.tibco.tibjms.connect.attempts. If you set both the properties, then com.tibco.tibjms.connect.attempts takes precedence.

Default is 2, 500.

Note: The property does not work for the JNDI connection.

be.jms.reconnect.timeout
  Specifies the retry interval (in seconds) for reconnecting to the JMS server when the connection is broken.

A value of zero (0) means do not retry. Any other value means keep retrying (with no limit to number of retries), and use the specified interval between each attempt.

In you require incremental interval between the reconnect attempts then set the be.jms.reconnect.timeout.incremental.enabled property.

Note
Unacknowledged messages (Events) are resent to the TIBCO BusinessEvents engine, which may result in duplicate events.
Note
Use either be.jms.reconnect.timeout or com.tibco.tibjms.connect.attempts. If you set both the properties, then com.tibco.tibjms.connect.attempts takes precedence.

Default is 0 (zero)

be.jms.reconnect.timeout.incremental.enabled
Using this property the random and incremental delays between JMS reconnect attempts are available. Thus, the reconnect requests are spaced out and do not send too many connect requests at once to the JMS server.

The intervals start with the value of be.jms.reconnect.timeout as the minimum value and keep on increasing with each attempt up to a certain maximum limit, beyond which the interval is always the same as the maximum limit.

The default value is false.

This property can only be used along with the be.jms.reconnect.timeout property.

be.jms.reconnect.msgCodes
  Specifies a case-insensitive character pattern that matches all error messages or error codes that will cause a reconnect attempt.

This property is used for JMS channels with providers other than TIBCO Enterprise Message Service.

Default is * (that is, the wildcard matched by any characters.)

be.channel.tibjms.queue.disabled

be.channel.tibjms.topic.disabled

  By default, be-engine connects to all defined channels on startup, including those not mentioned in the CDD file. This is because such channels can be used as output channels. However this is not always desired.

To disable queue or topic connections for specific JMS channels, add the following properties as appropriate. Enter the project path to the JMS channel as the individual value. Use commas or spaces as the delimiter. Use forward slashes in the project path. For example:

be.channel.tibjms.queue.disabled=/channels/1jmschannel, /channels/3jmschannel

be.channel.tibjms.topic.disabled=/channels/2jmschannel, /channels/4jmschannel

be.channel.jms.unified
By default, TIBCO BusinessEvents creates two connections to a JMS server, with the client IDs.

Set this property value to true for all agents to create a single connection with the same client ID as specified in the channel resource properties, or in the JMS Connection shared resource, if used. In the unified mode only a single value is required.

Note: When the connection is configured using a JMS Connection shared resource, ensure that the topic and queue connection factories on the JMS Connection shared resource Advanced tab match each other. Also, when using TIBCO Enterprise Message Service, use GenericConnectionFactory for both.
be.channel.jms.disallow.dup.clientid
Specifies whether the duplicate client ID can be used in the engine. When enabled, the engine fails to start when a duplicate client ID is encountered, even if the duplicate client ID is in the second engine.

If the be.channel.jms.disallow.dup.clientid property is enabled in the default mode (not the unified mode), the JMS channel needs two client IDs (whitespace separated) to startup successfully (one for the queue connection, and one for the topic connection). In the unified mode, only one client ID is required.

be.channel.jms.sender.session.pool.maxsize
Specifies the maximum pool size for the JMS sender session pool. Once set, it activates the JMS sender session pool for each JMS channel in the project. By default no sender session pool is created, and a single shared session is used by sending functions per channel. This property is applicable for the non-transacted mode only. The minimum allowed value of the property is 1.
be.jms.error.endpoint.enable
Specifies whether to enable forwarding of messages to error queue or topic for all destinations.

If this property is enabled, TIBCO BusinessEvents forwards any unsupported message from the original destination queue or topic to an error queue or topic. These unsupported messages are then cleared from the original destination queue. The original message is acknowledged by BusinessEvents and proper error message is thrown for the unsupported message.

If this property is enabled then you might also want to define be.jms.default.error.queue.name and be.jms.default.error.topic.name properties.

The default value is false.

Note: The unsupported type messages are forwarded to the error queue or topic on the same JMS server, on which the original message arrived. Therefore, in case of an application interacting with multiple JMS servers, individual error queue or topic are required on each server.

be.jms.default.error.queue.name
Name of the error queue.

The default value is be.application.error.queue.

be.jms.default.error.topic.name
Name of the error topic.

The default value is be.application.error.topic.