From e94f55c1708ea9326f986cd4305b73962f99b5d2 Mon Sep 17 00:00:00 2001 From: sunil-solace Date: Thu, 14 Nov 2024 16:01:21 -0500 Subject: [PATCH 1/3] [DATAGO-83177] Adding docs and release note for Nack feature --- README.md | 9 +- doc/images/Nack-Example.png | Bin 0 -> 131069 bytes doc/release-notes.md | 30 +++- doc/technical-reference.md | 278 ++++++++++++++++++++++++++++++++---- doc/user-guide.md | 78 ++++++++-- 5 files changed, 353 insertions(+), 42 deletions(-) create mode 100644 doc/images/Nack-Example.png diff --git a/README.md b/README.md index fd43248..7672a43 100644 --- a/README.md +++ b/README.md @@ -1,6 +1,6 @@ # Solace PubSub+ Connector - Mule 4, Documentation and Examples -v1.5.x +v1.6.x ## About the Connector @@ -17,7 +17,8 @@ Use the PubSub+ Connector to leverage PubSub+ Event Broker (event streaming) and * Request-reply (synchronous wait for reply in flow) * Publish to topic or queue (direct or persistent) * Ack to acknowledge messages anywhere in the Flow - * Recover Session will redeliver all already consumed but unacknowledged messages + * Nack to negatively acknowledge messages with Failed or Rejected settlement anywhere in the Flow + * Recover Session will redeliver all already consumed but unacknowledged messages (Nack will be replacement for this operation) * Guaranteed Endpoint Polling Listener (polling based GM consumer) * PubSub+ Event Portal integration @@ -55,7 +56,7 @@ MuleSoft disclaims any support obligation for MuleSoft Certified Connectors. By com.solace.connector solace-mulesoft-connector - 1.5.0 + 1.6.0 mule-plugin ``` @@ -75,7 +76,7 @@ Connector Published by: MuleSoft Partner
-Published on: March, 2024 +Published on: Nov, 2024
Level: MuleSoft-Certified diff --git a/doc/images/Nack-Example.png b/doc/images/Nack-Example.png new file mode 100644 index 0000000000000000000000000000000000000000..4bd0d65596820f5854093ade7705aae50f181385 GIT binary patch literal 131069 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 + • Introduced for Guaranteed Endpoint Listener and Guaranteed Endpoint Polling Listener Sources
+ • Uses the FAILED settlement outcome
+2. New Nack Operation
+ • Allows negative acknowledgement of guaranteed messages
+ • Supports both FAILED and REJECTED settlement outcomes
+ • Recommended alternative to Recover Session Operation settlement outcomes
+3. Added support for DeliveryCount and ReplicationGroupMessageId as Solace Message Properties
+ +**Note:** The version of the Solace PS+ broker that supports NACK using FAILED & REJECTED settlement outcome is version 10.2.1 and later. However, it maintains compatibility with brokers that do not support these settlement capabilities. This capability is automatically processed internally to the connector and requires no user interaction or configuration. + +### Deprecation Notice +The Recover Session Operation feature will soon be deprecated. Users are advised to transition to the new Nack Operation for improved message handling and error management. + ## v1.5.0 -**May 31, 2023** +**May 31, 2024** ### Compatibility | Application/Service | Version | @@ -211,7 +237,7 @@ Add this dependency to your application pom.xml com.solace.connector solace-mulesoft-connector - 1.4.0 + 1.6.0 mule-plugin ``` diff --git a/doc/technical-reference.md b/doc/technical-reference.md index 71111e0..5c709c3 100644 --- a/doc/technical-reference.md +++ b/doc/technical-reference.md @@ -10,6 +10,7 @@ * [Config](#config) * [Operations](#operations) * [Ack](#Ack) + * [Nack](#Nack) * [Consume](#Consume) * [Publish](#Publish) * [Request Reply](#request-reply) @@ -921,6 +922,222 @@ A retry strategy in case of connectivity errors

+### Nack + +
+ +`` + +
+ +
+ +Operation that allows the user to negatively acknowledge processing of a guaranteed message so it can be retried/removed from the PubSub+ event broker. It applies only when Ack Mode is selected to MANUAL_CLIENT. + +
+ +
+ +#### Parameters + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
NameTypeDescriptionDefault ValueRequired
+ +Configuration + + + +String + + + +The name of the connector configuration to use. + + + +**x** + +
+ +Message Reference Id + + + +
+ +
+ +String + +
+ +
+ +
+ +The "Reference Id" property from the Solace Message Properties of the message to be negatively acknowledged + + + +#[attributes.messageReferenceId] + +
+ +Settlement Outcome + + + +Enumeration, one of: +* FAILED +* REJECTED + + + +FAILED: + +This negative acknowledgment notifies the event broker that the message was not processed successfully. The event broker will attempt to redeliver the message while adhering to delivery count limits. + +REJECTED: + +This negative acknowledgment notifies the event broker that the message was not accepted. The event broker will remove the message from its queue and then move the message to the Dead Message Queue (DMQ) if it is configured. + +FAILED + +
+ +Reconnection Strategy + + + +
+ +
+ +* [Reconnect](#reconnect) + +* [Reconnect Forever](#reconnect-forever) + +
+ +
+ +
+ +A retry strategy in case of connectivity errors + +
+ +
+ +
+ +#### For Configurations. + +
+ +* [Config](#config) + +
+ +
+ +
+ +#### Throws + +
+ +* SOLACE:GENERIC_ERROR + +* SOLACE:INVALID_CONFIGURATION + +
+ +
+ +
+ +
+ ### Consume
@@ -3191,6 +3408,8 @@ Any
+**Deprecation Notice:** This Operation will soon be deprecated. Users are advised to transition to the new Nack Operation for improved message handling and error management. + Operation that allows the user to perform a session recover when consuming an unacknowledged message. It applies only when Ack Mode is selected to MANUAL_CLIENT. More about the usage and scope can found [here](user-guide.md#recover-session-operation). @@ -6369,34 +6588,37 @@ A time unit that qualifies the maxIdleTime attribute ### Solace Message Properties -| Field | Type | Description | -|---|---|---| -| DMQ Eligible | Boolean | | -| Application Message Id | String | An application-specific message identifier | -| Application Message Type | String | An application-specific message type | -| Content Type | String | The HTTP content type header value if the Solace message originated from interaction with an HTTP client or null if it is not set | -| Correlation Id | String | Correlation ID for Request-Reply messaging, used for correlating a request to a reply | -| Cos | Number | The Class of Service (CoS) value for this message | -| Delivery Mode | String | Represents the message delivery mode. Each type is associated with a set of delivery characteristics and guarantees. The valid modes are: NON_PERSISTENT, PERSISTENT and DIRECT | -| Destination | String | The destination this message was published to | -| Discard Indication | Boolean | True if one or more messages have been discarded prior to the current message, else False | -| Eliding Eligible | Boolean | Whether the message is eligible for eliding | -| Endpoint Type | String | The type of the destination: TOPIC or QUEUE | -| Expiration | Number | The UTC time (in milliseconds, from midnight, January 1, 1970 UTC) when the message is supposed to expire | -| Message Id | String | The Solace message ID | -| Message Reference Id | String | A generated Message Reference ID, to be used for Acknowledgement | -| Priority | Number | The priority value in the range of 0–255, or -1 if it is not set | -| Receiver Timestamp | Number | The receive timestamp (in milliseconds, from midnight, January 1, 1970 UTC) | -| Redelivered | Boolean | Indicates if the message has been delivered by the PubSub+ broker to the API before | -| Reply | Boolean | Whether the message's reply field is set, indicating that this message is a reply | -| Reply To | String | The reply-to destination | -| Reply To Endpoint Type | String | The type of the reply-to endpoint: TOPIC or QUEUE | -| Sender ID | String | The Sender's ID | -| Sender Timestamp | Number | The send timestamp (in milliseconds, from midnight, January 1, 1970 UTC) | -| Sequence Number | Number | The Solace message sequence number | -| Time To Live | Number | The number of milliseconds before the message is discarded or moved to Dead Message Queue | -| User Data | Binary | When an application sends a message, it can optionally attach application-specific data along with the message, such as user data | -| User Properties | Object | The user properties map | +| Field | Type | Description | +|------------------------------|---------|------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| +| DMQ Eligible | Boolean | | +| Application Message Id | String | An application-specific message identifier | +| Application Message Type | String | An application-specific message type | +| Content Type | String | The HTTP content type header value if the Solace message originated from interaction with an HTTP client or null if it is not set | +| Correlation Id | String | Correlation ID for Request-Reply messaging, used for correlating a request to a reply | +| Cos | Number | The Class of Service (CoS) value for this message | +| Delivery Mode | String | Represents the message delivery mode. Each type is associated with a set of delivery characteristics and guarantees. The valid modes are: NON_PERSISTENT, PERSISTENT and DIRECT | +| Destination | String | The destination this message was published to | +| Discard Indication | Boolean | True if one or more messages have been discarded prior to the current message, else False | +| Eliding Eligible | Boolean | Whether the message is eligible for eliding | +| Endpoint Type | String | The type of the destination: TOPIC or QUEUE | +| Expiration | Number | The UTC time (in milliseconds, from midnight, January 1, 1970 UTC) when the message is supposed to expire | +| Message Id | String | The Solace message ID | +| Message Reference Id | String | A generated Message Reference ID, to be used for Acknowledgement | +| Priority | Number | The priority value in the range of 0–255, or -1 if it is not set | +| Receiver Timestamp | Number | The receive timestamp (in milliseconds, from midnight, January 1, 1970 UTC) | +| Redelivered | Boolean | Indicates if the message has been delivered by the PubSub+ broker to the API before | +| Reply | Boolean | Whether the message's reply field is set, indicating that this message is a reply | +| Reply To | String | The reply-to destination | +| Reply To Endpoint Type | String | The type of the reply-to endpoint: TOPIC or QUEUE | +| Sender ID | String | The Sender's ID | +| Sender Timestamp | Number | The send timestamp (in milliseconds, from midnight, January 1, 1970 UTC) | +| Sequence Number | Number | The Solace message sequence number | +| Time To Live | Number | The number of milliseconds before the message is discarded or moved to Dead Message Queue | +| User Data | Binary | When an application sends a message, it can optionally attach application-specific data along with the message, such as user data | +| User Properties | Object | The user properties map | +| Delivery Count | Number | A read-only property that indicates how many times the broker has attempted to deliver a message to a consumer.
**Note:** It must be explicitly enabled for queues and topic endpoints on the broker side before client applications can use it | +| Replication Group Message Id | String | It is a unique identifier assigned by Solace PubSub+ event brokers to messages on queues or topic endpoints within a high availability (HA) group and replication group. | +
diff --git a/doc/user-guide.md b/doc/user-guide.md index 63ecf1e..d912d6c 100644 --- a/doc/user-guide.md +++ b/doc/user-guide.md @@ -57,6 +57,11 @@ Contents: * [Connector Configuration](#connector-configuration-2) * [Message Reference Id](#message-reference-id) - [Example](#example-2) + + [Nack Operation](#nack-operation) + - [Required Parameters](#required-parameters-3) + * [Connector Configuration](#connector-configuration-3) + * [Message Reference Id](#message-reference-id) + - [Example](#example-3) + [Request-Reply Operation](#request-reply-operation) - [Required Parameters](#required-parameters-3) * [Connector Configuration](#connector-configuration-3) @@ -668,9 +673,64 @@ Specifies the "Reference Id" property from the Solace Message Properties of the For more details, refer to the [Manual Acknowledgement](../demo/README.md#manualack---manual-acknowledgement) example. +### Nack Operation + +This operation negatively acknowledges (NACK) a guaranteed message using ["Application" Negative Acknowledgement](https://docs.solace.com/API/API-Developer-Guide/Acknowledging-Messages.htm). This NACK indicates that the message has been settled as either FAILED or REJECTED in the event broker's queue. This setting is only applicable if `ackMode="MANUAL_CLIENT"` has been set in a previous "Consume" operation or "Guaranteed Endpoint Listener" or "Guaranteed Endpoint Polling Listener" source. + +It presents two settlement outcomes: + +FAILED: This negative acknowledgment notifies the event broker that the message was not processed successfully. The event broker will attempt to redeliver the message while adhering to delivery count limits. + +REJECTED: This negative acknowledgment notifies the event broker that the message was not accepted. The event broker will remove the message from its queue and then move the message to the Dead Message Queue (DMQ) if it is configured. + +Note: If no NACK is received within the allowed time, it is settled with FAILED outcome and becomes available for redelivery. The default timeout is 2 minutes, which can be adjusted in the [General Connection Configuration, Advanced Tab](#general-configuration-advanced-tab). + +#### Required Parameters + +The following minimum parameters are required. There are no optional parameters. + +##### Connector Configuration + +Selects which connector configuration to use. + +##### Message Reference Id + +Specifies the "Reference Id" property from the Solace Message Properties of the message to be negatively acknowledged. + +>Note that this is NOT the "Message Id" property! + +##### Settlement Outcome + +FAILED (Default)
+REJECTED + + +#### Example + +![alt text](/doc/images/Nack-Example.png "Nack Example") + +```xml + + + + + + + + + + + + + + + +``` + + ### Request-Reply Operation -This operation sends a request message as part of a [Request-Reply messaging pattern](https://docs.solace.com/PubSub-Basics/Core-Concepts-Message-Models.htm#Request-) to the PubSub+ Event Broker using either direct or guaranteed messaging. It blocks until a reply is received or a configurable timeout happened. +This operation sends a request message as part of a [Request-Reply messaging pattern](https://docs.solace.com/API/API-Developer-Guide/Request-Reply-Messaging.htm) to the PubSub+ Event Broker using either direct or guaranteed messaging. It blocks until a reply is received or a configurable timeout happened. Depending on the message type, the connector populates the request message with a temporary "Reply-to" Topic or Queue address, as well as an internal "Correlation Id". The connector automatically sets up a listener to the "Reply-to" address and expects the responder to send the reply to this address with the correct Correlation Id. @@ -690,7 +750,7 @@ The default destination type is a Solace Topic with Direct delivery mode. The na | Parameter field | Description | |---|---| -|Delivery Mode | Direct or Persistent. Typically use Direct for Topic type and Persistent for Queue type. Read more in the [Solace documentation](https://docs.solace.com/PubSub-Basics/Core-Concepts-Message-Delivery-Modes.htm) | +|Delivery Mode | Direct or Persistent. Typically use Direct for Topic type and Persistent for Queue type. Read more in the [Solace documentation](https://docs.solace.com/API/API-Developer-Guide/Message-Delivery-Modes.htm#Message_Delivery_Modes) | |Type | [Topic](https://docs.solace.com/PubSub-Basics/Understanding-Topics.htm) or [Queue](https://docs.solace.com/PubSub-Basics/Core-Concepts-Endpoints-Queues.htm) | |Name | The destination's name | @@ -750,6 +810,8 @@ For more details refer to the [Request Reply](../demo/README.md#requestreply---r ### Recover Session Operation +**Deprecation Notice:** This Operation will soon be deprecated. Users are advised to transition to the new Nack Operation for improved message handling and error management. + Allows the user to perform a session recover while consuming an unacknowledged message. It can be used for "Consume Operation", "Guaranteed Endpoint Listener" and "Guaranteed Endpoint Polling Listener" with AckMode being MANUAL_CLIENT. Performing a session recover redelivers all the consumed messages that had not being acknowledged before this recover. @@ -833,7 +895,7 @@ The default destination type is a Solace Topic with Direct delivery mode. The na | Parameter field | Description | |---|---| -|Topic(s) | Comma separated list of topic patterns to listen to. For valid wildcard patterns, refer to the list of subscribe topics in the [SMF Topics](https://docs.solace.com/PubSub-Basics/SMF-Topics.htm) section of the Solace documentation. | +|Topic(s) | Comma separated list of topic patterns to listen to. For valid wildcard patterns, refer to the list of subscribe topics in the [SMF Topics](https://docs.solace.com/Messaging/Topic-Support-and-Syntax.htm) section of the Solace documentation. | #### Optional Parameters @@ -868,11 +930,11 @@ Selects which connector configuration to use. Specifies where to consume the message from and how. -| Parameter field | Description | -|---|---| -|Queue Name | The name of the Solace queue to read the message from | -|Selector | Optionally specify a [selector](https://docs.solace.com/Solace-PubSub-Messaging-APIs/API-Developer-Guide/Using-Selectors.htm) to only consume from a subset of messages of interest. | -|Ack Mode | Sets the [Application Acknowledgement](https://docs.solace.com/Solace-PubSub-Messaging-APIs/API-Developer-Guide/Acknowledging-Messages.htm) for the received message. Select from `AUTOMATIC IMMEDIATE` (default), `AUTOMATIC ON FLOW COMPLETION` or `MANUAL CLIENT`. "Manual Client" requires an explicit [Ack operation](#ack-operation) later in the flow. At "Automatic on flow completion" the message is automatically acknowledged after all processing at the end of the flow. | +| Parameter field | Description | +|---|--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| +|Queue Name | The name of the Solace queue to read the message from | +|Selector | Optionally specify a [selector](https://docs.solace.com/API/API-Developer-Guide/Using-Selectors.htm) to only consume from a subset of messages of interest. | +|Ack Mode | Sets the [Application Acknowledgement](https://docs.solace.com/API/API-Developer-Guide/Acknowledging-Messages.htm) for the received message. Select from `AUTOMATIC IMMEDIATE` (default), `AUTOMATIC ON FLOW COMPLETION` or `MANUAL CLIENT`. "Manual Client" requires an explicit [Ack operation](#ack-operation) later in the flow. At "Automatic on flow completion" the message is automatically acknowledged after all processing at the end of the flow. | >Note: If Ack Mode is "Manual Client", the message must be acknowledged within a [configurable maximum wait time timeout](#general-configuration-advanced-tab), with default value of 2 minutes. From c59ae02fadecd584a7360ec1d36af2679d6f7e6d Mon Sep 17 00:00:00 2001 From: sunil-solace Date: Fri, 15 Nov 2024 13:00:47 -0500 Subject: [PATCH 2/3] Adding review comment for RecoverSession deprecation --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 7672a43..f0f9241 100644 --- a/README.md +++ b/README.md @@ -18,7 +18,7 @@ Use the PubSub+ Connector to leverage PubSub+ Event Broker (event streaming) and * Publish to topic or queue (direct or persistent) * Ack to acknowledge messages anywhere in the Flow * Nack to negatively acknowledge messages with Failed or Rejected settlement anywhere in the Flow - * Recover Session will redeliver all already consumed but unacknowledged messages (Nack will be replacement for this operation) + * Recover Session will redeliver all already consumed but unacknowledged messages (deprecated; use the Nack operation instead) * Guaranteed Endpoint Polling Listener (polling based GM consumer) * PubSub+ Event Portal integration From 0035dac57d836e984ccb566a0f573124e3368d37 Mon Sep 17 00:00:00 2001 From: sunil-solace Date: Mon, 18 Nov 2024 11:57:14 -0500 Subject: [PATCH 3/3] Incorporating review comments --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index f0f9241..51c951b 100644 --- a/README.md +++ b/README.md @@ -18,7 +18,7 @@ Use the PubSub+ Connector to leverage PubSub+ Event Broker (event streaming) and * Publish to topic or queue (direct or persistent) * Ack to acknowledge messages anywhere in the Flow * Nack to negatively acknowledge messages with Failed or Rejected settlement anywhere in the Flow - * Recover Session will redeliver all already consumed but unacknowledged messages (deprecated; use the Nack operation instead) + * Recover Session will redeliver all already consumed but unacknowledged messages (deprecated: Recover Session is being deprecated and will be removed in a future release of this connector. Use the new NACK operation instead. Recover Session has not been removed and will continue to work as it did before this release. Do not use Recover Session in new flows or in the same flow as NACK.) * Guaranteed Endpoint Polling Listener (polling based GM consumer) * PubSub+ Event Portal integration