RabbitMQ Acknowledge

RabbitMQ Acknowledge

On this Page

 

Snap type:Read
Description:

This Snap performs an acknowledge, reject or a recover action on the received message from the Rabbitmq server via the RabbitMQ Consumer used in the upstream. The Snap should always be used in conjunction with the RabbitMQ Consumer Snap within a pipeline. The RabbitMQ Consumer Snap should have the Acknowledgement mode set to PIPELINE_CONTROL.

ETL Transformations & Data Flow

 The Snap extracts the delivery tag from the the Consumer and performs selected acknowledge function. On the RabbitMQ Consumer Snap, select the PIPELINE_CONTROL option when using the RabbitMQ Acknowledge Snap in a pipeline.

  • The RabbitMQ Consumer Snap writes the messages to the output view along with headers containing a delivery tag which is then forwarded to the RabbitMQ Acknowledge Snap. 
  • The RabbitMQ Acknowledge Snap may be positioned anywhere in the pipeline following the Consumer Snap. The RabbitMQ Acknowledge Snap should be configured with necessary acknowledgement mode based on the message processing. 

Input & Output

  • Input:  
    This Snap optionally accepts the delivery tag of the RabbitMQ message consumed by the Consumer Snap upstream. 
  • Output

This Snap writes the delivery tag received to output view if present. Errors can be routed to the error view if enabled or otherwise cause the Snap to fail during execution.

Mode

Prerequisites:
  • Access to the RabbitMQ Server.
  • Privileges to perform various actions on the Queues such as receive and send messages.
Limitations and Known Issues:
  • When using the RabbitMQ Acknowledge Snap, the pipeline can be configured with a single RabbitMQ Consumer Snap only (more than one RabbitMQ Consumer Snaps cannot be configured within the same pipeline).
  • The pipelines cannot be validated if a child pipeline contains either a RabbitMQ Acknowledge Snap or a Consumer Snap within it. 
  • When configuring with the Acknowledge Snap, since the message processing is sequential,  a single message only will be processed at a time in the pipeline and second message is processed only when the current message is either acknowledged or recovered or rejected.
Configurations:

This Snap uses account references created on the Accounts page of SnapLogic Manager to handle access to this endpoint. See RabbitMQ Account for information on setting up this type of account.

 Views

InputThis Snap has exactly one document input view.
OutputThis Snap has at most document output view.
ErrorThis Snap has at most one document error view and produces zero or more documents in the view.
Troubleshooting:The section describes typical issues you may encounter while using this Snap, and instructions on how to workaround them:

Settings

Label

Required. The name for the Snap. You can modify this to be more specific, especially if you have more than one of the same Snap in your pipeline.

Acknowledge type

Required. Specifies the appropriate acknowledge type of the message to be performed. The message type options available are: Acknowledge, Reject and Recover.

On the RabbitMQ Consumer Snap, select the PIPELINE_CONTROL option when using the RabbitMQ Acknowledge Snap within a pipeline.

Acknowledge Message: The Consumer performs a successful acknowledgement of the message to the RabbitMQ server and removes that message from the queue.

Reject Message: The Consumer notifies the RabbitMQ server to mark the particular message as ‘dead lettered’ and route the message to the ‘Dead Lettered Exchange’. However if the ‘Dead Lettered Exchange’ is not configured on the RabbitMQ server, the message would be dropped from the queue automatically.

Recover Message: The Consumer notifies the RabbitMQ server to re-queue the message to be available in the next read.

Default value: Acknowledge Message 

Snap Execution

Select one of the following three modes in which the Snap executes:

  • Validate & Execute: Performs limited execution of the Snap, and generates a data preview during Pipeline validation. Subsequently, performs full execution of the Snap (unlimited records) during Pipeline runtime.

  • Execute only: Performs full execution of the Snap during Pipeline execution without generating preview data.

  • Disabled: Disables the Snap and all Snaps that are downstream from it.

Default ValueExecute only
Example: Validate & Execute


Examples


 RabbitMQ Acknowledge Snap performs a basic acknowledge function

 The pipeline reads the delivery tag from the RabbitMQ Consumer Snap and forwards it to the Acknowledge Snap for an appropriate acknowledge operation.

The RabbitMQ Consumer Snap is set with the PIPELINE_CONTROL option as a Message Acknowledge Mode:

The delivery tag as passed using the Mapper Snap:

The Acknowledge Snap with Acknowledge type as Acknowledge Message performs a successful acknowledgement on pipeline execution:

  

  

 RabbitMQ Acknowledge Snap performing multiple modes of message acknowledgement

In the below pipeline, the received messages from the RabbitMQ server are consumed and acknowledged as configured. 

The pipeline is configured to perform:

  • an acknowledgement of the message
  • re-queue the recovered message
  • reject the message and route it to the Dead lettered queue.

 

Downloads 

Loading


  File Modified

File Rabbitmq-consumer-advanced_2018_03_23.slp

Mar 23, 2018 by Aparna Tayi

File Example_Rabbitmq-consumer-Basic.slp

Mar 09, 2022 by Subhajit Sengupta


Snap Pack History

 Click to view/expand

Release 

Snap Pack Version

Date

Type

  Updates

November 2025

main33142

Stable

Enhanced the RabbitMQ Consumer Snap with the Execution timeout field that enables the Snap to gracefully stop within the specified time, even if the message count threshold is not met. If the message consumption occurs before timeout then the snap will consume the message and stops gracefully before timeout as expected.

August 2025

442patches32214

Latest

Fixed an issue with the RabbitMQ Consumer Snap that failed to read messages when ACCESS_REFUSED error (403) occurred for read-only users.

August 2025

main32088

Stable

Updated and certified against the current SnapLogic Platform release.

May 2025

main31019

 

Stable

Updated and certified against the current SnapLogic Platform release.

February 2025

440patches30160

 

Latest

Upgraded the amqp-client library from v5.0.0 to v5.25.0 to resolve a connection issue with the RabbitMQ server via a load balancer using TLSv1.2.

February 2025

main29887

 

Stable

Updated and certified against the current SnapLogic Platform release.

November 2024

main29029

 

Stable

  • Removed the Route connection errors checkbox from the RabbitMQ Producer and RabbitMQ Consumer Snaps. This change should not impact your existing pipelines because the Route Error Data to Error View is now enabled by default.

  • Added 5672 as the default value for Port in the RabbitMQ Account—this is the default value from the RabbitMQ server.

August 2024

main27765

 

Stable

Updated and certified against the current SnapLogic Platform release.

May 2024

437patches27616

 

Latest

Fixed the following issues with the RabbitMQ Producer Snap:

  • With no access to the virtual hosts, the Snap displayed a null pointer exception.

  • The Snap did not display the original payload when the error view was enabled.

May 2024

main26341

 

Stable

Updated and certified against the current SnapLogic Platform release.

February 2024

main25112

 

Stable

Updated and certified against the current SnapLogic Platform release.

November 2023

main23721

 

Stable

Updated and certified against the current SnapLogic Platform release.

August 2023

main22460

 

Stable

Updated and certified against the current SnapLogic Platform release.

May 2023

main21015

 

Stable

Upgraded with the latest SnapLogic Platform release.

February 2023

main19844

 

Stable

Upgraded with the latest SnapLogic Platform release.

November 2022

main18944

 

Stable

Upgraded with the latest SnapLogic Platform release.

September 2022

430patches18079

 

Latest

The RabbitMQ Consumer and RabbitMQ Producer Snaps now display an informative error message when you do not provide the Queue type attribute in the Quorum queue or provide conflicting Queue types for Classic and Quorum queues.

August 2022

430patches17462

 

Latest

The RabbitMQ Account now successfully validates even when the port is out of range.

August 2022

main17386

 

Stable

The RabbitMQ Consumer and RabbitMQ Producer Snaps can consume and produce messages respectively from the quorum queue by setting the Argument key field as x-queue-type and Argument value as quorum to consume or publish messages from/to the quorum queue.

4.30

main17386

 

Stable

Upgraded with the latest SnapLogic Platform release.

4.29 Patch

429patches17049

 

Latest

Enhanced the RabbitMQ Consumer Snap with:

  • Acknowledgment Type the dropdown list that allows you to set the acknowledgment type, which is available only when you select Auto_Acknowledgement in the Message Acknowledge Mode field.

  • A default 30-minute acknowledgment timeout—the Snap waits only for 30 minutes to get an acknowledgment. When there is no acknowledgment even after 30 minutes, Snap considers the status as unacknowledged and moves to the subsequent message.

4.29

main15993

 

Stable

Upgraded with the latest SnapLogic Platform release.

4.28

main14627

 

Stable

Upgraded with the latest SnapLogic Platform release.

4.27

main12833

 

Stable

Upgraded with the latest SnapLogic Platform release.

4.26 Patch

426patches11770

Latest

Enhanced the Rabbit MQ Account with a new checkbox Cluster Support that enables multiple cluster node support for RabbitMQ Consumer and RabbitMQ Producer Snaps. You can select this checkbox to enable high availability of clusters by adding multiple hosts (Host name and Port) for each cluster node.

4.26

main11181

 

Stable

Upgraded with the latest SnapLogic Platform release.

4.25

main9554

 

Stable

Upgraded with the latest SnapLogic Platform release.

4.24 Patch 

424 patches8750

 

Latest

Fixed the handling of RabbitMQ Headers in the RabbitMQ Consumer Snap, including the x-death header.

4.24

main8556

Stable

Upgraded with the latest SnapLogic Platform release.

4.23

main7430

 

Stable

Upgraded with the latest SnapLogic Platform release.

4.22

main6403

 

Stable

Enhances the RabbitMQ Consumer and RabbitMQ Producer Snaps to allow defining custom arguments to ensure that all declarations for the queues use the same configuration/options/arguments. 

4.21

snapsmrc542

 

Stable

Upgraded with the latest SnapLogic Platform release.

4.20

snapsmrc535

 

Stable

Upgraded with the latest SnapLogic Platform release.

4.19

snaprsmrc528

 

Stable

Added the Auto delete check box, which enables you to indicate that the RabbitMQ autoDelete property associated with the existing queue is set totrue.

4.18 Patch 

rabbitmq8058

 

Latest

Fixed an issue with RabbitMQ Snaps wherein the Snaps throw an error when the auto-delete setting is set to true.

4.18

snapsmrc523

 

Stable

Upgraded with the latest SnapLogic Platform release.

4.17

ALL7402

 

Latest

Pushed automatic rebuild of the latest version of each Snap Pack to SnapLogic UAT and Elastic servers.

4.17

snapsmrc515

 

Latest

Added the Snap Execution field to all Standard-mode Snaps. In some Snaps, this field replaces the existing Execute during preview check box.

4.16

snapsmrc508

 

Stable

Upgraded with the latest SnapLogic Platform release.

4.15

snapsmrc500

 

Stable

Upgraded with the latest SnapLogic Platform release.

4.14

snapsmrc490

 

Stable

Upgraded with the latest SnapLogic Platform release.

4.13 Patch

 rabbitmq5296

 

Latest

Fixed the RabbitMQ Acknowledge Snap that returns a NullPointerException error when no DeliveryTag is sent during pipeline execution. 

4.13

snapsmrc486

 

Stable

  • Added a new Snap, the RabbitMQ Acknowledge Snap to perform an acknowledge, reject or a recover action on the received message from the RabbitMQ server.

  • Added a new property “Message Acknowledge Mode” in the RabbitMQ Consumer Snap to specify the mode of message acknowledgement -- Auto Acknowledge or Pipeline Control (if the RabbitMQ Acknowledge Snap is used).

4.12

snapsmrc480

 

Stable

  • Added a new RabbitMQ Producer Snap setting to customize the wait-for-confirms timeout window.

  • Fixed an issue that prevented a clean connection recovery in the RabbitMQ Producer when a previous connection attempt failed and exhausted the retry attempts.

4.11 Patch 

rabbitmq4653

 


Fixed an issue with the RabbitMQ Retry Mechanism that fails to process after failure.

4.11 Patch 

rabbitmq4613

 


Added the RabbitMQ Producer Snap with property 'Wait for confirms timeout (ms)' to enable the user to configure the publish timeout in milliseconds.

4.11 Patch 

rabbitmq4535

 


Enhanced the RabbitMQ Producer and Consumer for connection retry logic when running in Ultra Pipelines.

4.11 Patch  

rabbitmq4465

 


Fixed an issue with the RabbitMQ Producer where dynamic queues were created for each instance of an Ultra Pipeline. The property Create dynamic queue is added as a part of the fix.

4.11 Patch 

rabbitmq4423

 


Fixed an issue with the RabbitMQ Producer Snap that now creates dynamic queue for each message received.

4.11 Patch 

rabbitmq4324

 


Fixed the following issues:

  • The RabbitMQ Snap, which failed, throwing a connection timeout error instead of trying to reconnect.

  • Issue with the Consumer Snap errors not going through error view.

  • Ultra Task Snap loaded the same document onto the RabbitMQ queue five times.

  • Ultra Task Snap, on an error logic retry, loaded the same document onto the RabbitMQ Producer Snap.

  • Inability to specify input variable for Routing key.

4.11

snapsmrc465

 

Stable

Upgraded with the latest SnapLogic Platform release.

4.10 Patch 

rabbitmq4094

 


Fixed an issue related to messages being processed multiple times under certain failure conditions with Ultra pipelines. Added additional timeout conditions to the retry/error view handling.

4.10 Patch 

rabbitmq3860

 


Fixed an issue in Retrying.The configuration for retrying can be provided in Producer and Consumer Snaps individually.

4.10

snapsmrc414

 

Stable

  • The Message count property updated to a default value of -1.

  • Added the Producer Snap with Retry request interval and Maximum request attempts fields to support the retry logic in case of a network failure.

  • Added support to the RabbitMQ Account with the Use TLSv1.2,Trust all certificates, Key Store, TrustStore, Key/Truststore password and Key alias properties to support the SSL/TLS for secured communications.

4.9

snapsmrc405

 

Stable

Upgraded with the latest SnapLogic Platform release.

4.8 Patch 

rabbitmq2731

 

Latest

  • Provided the Enhance Exchange Header support for RabbitMQ Snap Pack.

  • x-match and Header properties added to support different exchange headers. 

4.8 Patch 

rabbitmq2720

 

Latest

  • Addressed the following issues:

    • RabbitMQ Snap Pack - Thrown by RESTEasy when HTTP Not Acceptable (406) is encountered.

    • Unable to configure RabbitMQ - Producer to work with existing Topic Exchange

    • Exchange type and Durable Exchange added to support different exchange types. 

4.8

snapsmrc398

 

Stable

Info tab added to accounts.

4.7

snapsmrc382

 

Stable

Upgraded with the latest SnapLogic Platform release.

4.6

snapsmrc362

 

Stable

Upgraded with the latest SnapLogic Platform release.

4.5.1

snapsmrc344

 

Stable

Resolved an issue with the Producer and Consumer Snaps not releasing connections.

4.4.1


 

Stable

NEW! This Snap Pack contains a Consumer and a Producer Snap.