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
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.