Integration Server 10.15 | JMS Client Development Guide | Working with Cluster Policies | Working with the Multisend Guaranteed Policy | Error Handling with the Multisend Guaranteed Policy | Error Handling for Transaction Type of NO_TRANSACTION
 
Error Handling for Transaction Type of NO_TRANSACTION
When sending JMS messages using a multisend guaranteed policy with a connection of type of NO_TRANSACTION, the following error handling may occur:
*If the minimum number of Brokers required by the multisend guaranteed policy are not available, Integration Server will try various combinations of Brokers in the Broker cluster to ensure that the JMS message is sent to the minimum number of Brokers. For example, if the multisend guaranteed policy specifies that the JMS message must be sent to 2 of 4 Brokers in a Broker cluster that consists of BrokerA, BrokerB, BrokerC, and BrokerD. Integration Server might first try to send the JMS message to BrokerA and BrokerB. If BrokerA is not available, Integration Server retries with a different combination of Brokers, such as BrokerB and BrokerC. Integration Server will retry up to two times to send the message using different combinations of Brokers. If the minimum number of Brokers is not available after the final retry attempt, Integration Server throws an ISRuntimeException.
*If a fatal error occurs while Integration Server is sending messages to multiple Brokers, Integration Server throws a ServiceException and the sending service fails. For example, an invalid destination lookup name or invalid connection factory name results in a ServiceException and thus a fatal error.
Note:
When overriding a multisend guaranteed policy and using a connection transaction type of NO_TRANSACTION, if one of the Brokers is not available while Integration Server is sending the message, Integration Server does not retry sending the message with a different combination of Brokers. Instead, Integration Server throws an ISRuntimeException.