JMS Acknowledge

In this article

Overview

This Snap is used to acknowledge the Java Message Service (JMS) messages read by a JMS consumer used in the upstream Snap. This Snap should always be used in conjunction with JMS Consumer Snap in a Pipeline. The JMS Consumer Snap should have the Acknowledgement mode set to CLIENT_ACKNOWLEDGE and Processing mode set to Synchronous.

Acknowledgment Modes:

  • Client Acknowledge: When a message is read, the client acknowledges the message.

  • Auto Acknowledge: The messages are acknowledged automatically (by user) after the message is read.

Learn more about Message Acknowledge Modes.

Snap Type

Read

Prerequisites

None.

Support for Ultra Pipelines

Works in Ultra Task Pipelines.

Snap Views

TypeFormatNumber of ViewsExamples of Upstream and Downstream SnapsDescription
InputDocumentMin:1
Max:1
  • Mapper
  • Structure
  • JSON Generator 
This Snap optionally accepts the JMS MessageID of the JMS message consumed by JMS Consumer Snap upstream. 
OutputDocumentMin:0
Max:1
  • Filter
  • Mapper
  • JSON Formatter
This Snap writes the JMS MessageID received to output view if present. 
Error

Error handling is a generic way to handle errors without losing data or failing the Snap execution. You can handle the errors that the Snap might encounter while running the Pipeline by choosing one of the following options from the When errors occur list under the Views tab. The available options are:

  • Stop Pipeline Execution: Stops the current pipeline execution when the Snap encounters an error.

  • Discard Error Data and Continue: Ignores the error, discards that record, and continues with the rest of the records.

  • Route Error Data to Error View: Routes the error data to an error view without stopping the Snap execution.

Learn more about Error handling in Pipelines.

Snap Settings

Field

Field Type

Description


Label

Default Value: JMS Acknowledge
Example
JMS Acknowledge

StringSpecify a unique name for the Snap. 

Recover message

Default Value: Deselected


Checkbox

Select this option to explicitly place a message back in the JMS queue to recover messages.

If the Snap fails to read the JMS messages for processing, you can recover those messages by selecting the Recover message checkbox so that the Snap can read the messages additional times for further processing.

Snap Execution

Default Value: Validate & Execute
Example
: Execute only

Dropdown list

Select one of the three modes in which the Snap executes. Available options are:

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


Example


A Pipeline for JMS Acknowledge may look something like this:

Configure a Mapper Snap to join upstream Snaps to JMS Acknowledge:


The sample output of the JMS Acknowledge Snap may look like this:

Snap Pack History

 Click to view/expand
ReleaseSnap Pack VersionDateTypeUpdates
4.29main15993 StableUpgraded with the latest SnapLogic Platform release.
4.28main14627 StableUpgraded with the latest SnapLogic Platform release.

4.27

main12833

 

Stable

Upgraded with the latest SnapLogic Platform release.
4.26main11181 StableUpgraded with the latest SnapLogic Platform release.
4.25main9554
 
Stable

Upgraded with the latest SnapLogic Platform release.

4.24 Patch4.24patches9098 Latest

Enhances the JMS account in the JMS Snap Pack by updating the JNDI properties (java.naming.security.principal, java.naming.security.credentials) with username and password, to support the requirements of certain JMS servers.

4.24 Patch424patches9104 Latest

Fixes an issue in the JMS Consumer Snap, where different JMS SQS accounts interfere with each other while running on the same jcc node by using the AWSStaticCredentialProvider instead of the SystemPropertiesCredentialsProvider.

4.24main8556
StableUpgraded with the latest SnapLogic Platform release.
4.23main7430
 
StableUpgraded with the latest SnapLogic Platform release.
4.22 Patch422patches6992 Latest

Fixes the JMS Snap Pack by replacing JMS class loader for Oracle AQ (Advance Queuing).

4.22main6403
 
StableUpgraded with the latest SnapLogic Platform release.
4.21snapsmrc542

 

StableUpgraded with the latest SnapLogic Platform release.
4.20 Patch  jms8824 Latest

Fixes an issue in the JMS Consumer Snap due to which the Snap does not release the memory even after Pipeline termination, leading to huge memory spikes.

4.20 Patch jms8810 Latest

Fixes the connection leak issue in the JMS Producer Snap.

4.20 Patch jms8765 Latest

Fixes an issue with the JMS Consumer Snap that fails to successfully create durable subscribers when run in asynchronous mode.

4.20snapsmrc535
 
StableUpgraded with the latest SnapLogic Platform release.
4.19 Patch jms8420 Latest
  • Adds the following properties to the JMS Consumer and JMS Producer Snaps to enable retry and reconnect features:
    • Number of retries: Defines the number of times the Snap must re-attempt an operation before throwing a connection/network error.
    • Retry interval (milliseconds): Defines the time in milliseconds the Snap must wait between subsequent retries upon a connection/network error.
  • Enables the JMS Producer Snap to clean up stale connections.
  • Fixes the JMS Acknowledge Snap where the Snap fails unexpectedly without providing a reason.
4.19snaprsmrc528
 
StableUpgraded with the latest SnapLogic Platform release.
4.18 Patch jms7865 Latest

Fixed an issue with the JMS Consumer Snap that reinserts failed messages in the JMS queue without checking for duplicate messages.

4.18snapsmrc523
 
StableUpgraded with the latest SnapLogic Platform release.
4.17ALL7402
 
Latest

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

4.17snapsmrc515
 
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.16snapsmrc508
 
StableUpgraded with the latest SnapLogic Platform release.
4.15snapsmrc500
 
Stable

Added HornetQ support for the JMS Producer and JMS Consumer Snaps.

4.14snapsmrc490
 
StableUpgraded with the latest SnapLogic Platform release.
4.13

snapsmrc486

 
StableUpgraded with the latest SnapLogic Platform release.
4.12

snapsmrc480

 
StableUpgraded with the latest SnapLogic Platform release.
4.11snapsmrc465
 
StableUpgraded with the latest SnapLogic Platform release.
4.10

snapsmrc414

 
StableUpgraded with the latest SnapLogic Platform release.
4.9 Patch jms3305 Latest

Elegant error & resolution messaging for bad ConnectionFactory and bad connectionFactoryNames JNDI property

4.9snapsmrc405
 
StableUpgraded with the latest SnapLogic Platform release.
4.8 Patch jms2702  Latest

Addressed an issue with the JMS Acknowledge Snap failing to exit in Ultra mode.

4.8 Patchjms2883 Latest

Addressed multiple issues regarding messages being consumed or acknowledged in JMS Consumer and Acknowledge Snaps.

4.8

snapsmrc398

 
StableUpgraded with the latest SnapLogic Platform release.
4.7

snapsmrc382

 
StableUpgraded with the latest SnapLogic Platform release.
4.6snapsmrc362
 
StableUpgraded with the latest SnapLogic Platform release.
4.5.1

snapsmrc344

 
StableUpgraded with the latest SnapLogic Platform release.
4.5

snapsmrc344

Stable
  • Resolved an issue in JMS Consumer Snap that occurred when the Snap is set with the SQS account on a client_acknowledge mode.
  • Resolved an issue in JMS Consumer Snap that occurred when the Snap was used in the middle of a pipeline.
4.4
 Stable
  • JMS Producer: The file header is now passed through to the output view.
  • JMS Acknowledge: JMS MessageID is now optional for the input.
  • JMS Consumer: Expressions are now supported for Client ID and Subscription Name.