This release changes the behavior of the JMS binding to set a JMS ClientID of 'X-SMA-<busname>-<bususername>' on JMS message bus binding connections, where <bususername> is the name of the application if the bus is used in a Talon Application. Setting a JMS Client is a useful safeguard against a primary and backup instance both assuming a primary role when the application is configured with a messagingStartFailPolicy of FailIfOneBindingFails. The following new binding descriptor properties were introduced to control setting the client id for jms connections: - set_client_id: Controls whether the binding will set the JMS ClientID for JMS connections. (default: true)
- use_legacy_client_id: causes the client id to be set to <bususername><busname> rather than X-SMA<busname>-<bususername> (prior to this release the activemq binding used this client_id implicitly. (default: false)
client_id: can be set an explicit client id. (default: not set) Compatibility Notes: If the JMS connection is created from a JNDI connection factory that provides a pre configured JMS ClientID it may cause the JMS provider to throw an exception when the client id is set. *Consequently, it is importan
Prior to this release the ActiveMQ specific provider set a client of <username><busname>. The change to "X-SMA<busname>-<bususername>" is a breaking change in this case for applications that have existing durable subscriptions associated with the old Client ID. The property use_legacy_client_id=true can be set to use the old client id.
|
|