Asynchronous Publishing

Asynchronous publishing allows the Micro-Integration to process new messages without the need to wait for the previous message’s publish acknowledgment. While this can boost performance, it does come with a trade-off, as it may increase the chances and volume of duplicate messages.

A workflow can be configured to wait for the publisher's acknowledgments, asynchronously with the following configuration options:

# <workflow-id> : The workflow ID ([0-19])

solace.connector.workflows.<workflow-id>.acknowledgment.publish-async 
solace.connector.workflows.<workflow-id>.acknowledgment.back-pressure-threshold 
solace.connector.workflows.<workflow-id>.acknowledgment.publish-timeout        

For more information about these configuration options, including default values, see Workflow Configuration Options.

In general, reducing the publish-timeout option increases the probability of duplicate message deliveries, while increasing the back-pressure-threshold option is likely to result in a higher occurrence of duplicate messages.

  • This Micro-Integration supports asynchronous publishing from the Solace to JMS compliant broker direction only.

    Enabling publish-async on a workflow in the JMS compliant broker to Solace enables asynchronous publishing on the Micro-Integration’s core, but the effective publishing mode is still synchronous because there is no support for this feature on the JMS compliant broker consumer bindings.

  • In order to effectively get asynchronous publishing in the Solace to JMS compliant broker direction, the JMS provider must have the capability to asynchronously publish persistent messages without involving a transaction.