Asynchronous Publishing

Asynchronous publishing allows the connector 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        

See the Workflow Configuration Options table for details and defaults values of the 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 connector supports asynchronous publishing from the Solace → JMS compliant broker direction only.

    Enabling publish-async on a workflow in the JMS compliant broker → Solace enables asynchronous publishing on the connector’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 → JMS compliant broker direction, the JMS provider must have the capability to asynchronously publish persistent messages without involving a transaction.