JMS Snap Pack

JMS Snap Pack

This page is no longer maintained (October 14, 2026). To access the most current version, go to https://docs.snaplogic.com/snaps/sp-jms/sp-jms-about.html

In this article

 

Overview

Messaging is a method of communication between software components or applications. The Java Message Service (JMS) API is a Message Oriented Middleware (MOM) that allows applications to create, send, receive, and read messages using reliable, asynchronous, loosely coupled communication. This approach allows software components to communicate indirectly with each other. The benefits of this message include that senders do not need precise knowledge of their receivers.

Use Snaps in this Snap Pack to:

  • Create JMS messages from incoming JSON documents.

  • Fetch the Java Message Service (JMS) messages.

You can use the dedicated IBM MQ Snap Pack to work with IBM MQ queues.

Supported Versions

This Snap Pack is tested against:

  • JMS version 5.15.0.

  • JMS providers

    • Apache ActiveMQ v5.15.9

    • JBOSS HornetQ v2.4

The JMS specification supports two models:

  • Point-to-point

  • Publish and subscribe

Point-to-Point

A point-to-point (PTP) product or application is built on the concept of message queues, senders, and receivers. Each message is addressed to a specific queue, and receiving clients extract messages from the queues established to hold their messages. Queues retain all messages sent to them until the messages are consumed or expire.

Point-to-Point.png

PTP messaging has the following characteristics: 

  • Each message has only one consumer. 

  • A sender and a receiver of a message have no timing dependencies. The receiver can fetch the message whether or not it was running when the client sent the message. 

  • The receiver acknowledges the successful processing of a message.

Publish and Subscribe

In a publish/subscribe (pub/sub) product or application, clients address messages to a topic, which functions somewhat like a bulletin board. Publishers and subscribers are generally anonymous and can dynamically publish or subscribe to the content hierarchy. The system takes care of distributing the messages arriving from a topic’s multiple publishers to its multiple subscribers. Topics retain messages only as long as it takes to distribute them to current subscribers.

Publish and Subscribe.png

Pub/sub messaging has the following characteristics: 

  • Each message can have multiple consumers. 

  • Publishers and subscribers have a timing dependency. A client that subscribes to a topic can consume only messages published after the client has created a subscription, and the subscriber must continue to be active in order for it to consume messages.

JMS Building Blocks

JMS building blocks contains:  

  • Connection

  • Message producers

  • Message consumers

JMS Building Blocks.png

 


Snap Pack History

Release Snap Pack Version Date Type Updates August 2026 445patches36197 Latest Added a new checkbox - Use transacted session in the JMS Consumer Snap to resolve connection failures when transacted sessions are disabled in Solace client profiles. When the Message Acknowledge Mode is set to CLIENT_ACKNOWLEDGE, you can now disable this property (which is enabled by default) to allow the Snap to operate successfully without requiring a transacted session. August 2026 main35817 Stable Updated and certified against the current SnapLogic Platform release. May 2026 444patches34956 Latest Improved the tooltip for the Execution timeout field in the JMS Consumer Snap to enhance clarity. May 2026 444patches34872 Latest Fixed an issue with the JMS Producer Snap where the Key field in the Message Properties fieldset did not support expressions. This field now supports/evaluates expressions, pipeline parameters, and input field references from upstream Snaps. May 2026 main34730 Stable Updated and certified against the current SnapLogic Platform release. March 2026 443patches34285 and 444patches34286 Latest Fixed an issue in the JMS Producer Snap where the JMSPriority value configured in Message properties was not applied to outgoing messages, causing them to use the default priority instead. The Snap now correctly sets the message priority on the JMS broker. January 2026 443patches33690 Latest Fixed an issue with the JMS Acknowledge Snap that failed during connectivity issues/session close, without routing errors to the error view, even when error pipelines were configured. The Snap now handles errors effectively by displaying a proper SnapDataException with the correct message, message ID, and reason. November 2025 main33142 Stable Added the Execution timeout field in the JMS Consumer Snap that prevents the Snap from running indefinitely when message processing becomes unresponsive or takes longer than expected. August 2025 442patches32288 Latest Added a new node property (jvm_option) - -Dsnaplogic.jms.connection.cache.timeout=<milliseconds> to allow JMS Account connections to persist for a user-stipulated time duration (in milliseconds) even after a pipeline run is complete. Any new connection using this account within the stipulated time will succeed and reset this timer. 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 440patches30851   Latest Improved the JMS authentication handling on the JBoss Server. Now, if the username authentication fails, SnapLogic uses the username and password as the JNDI properties to authenticate the JMS Account automatically at the backend. February 2025 440patches30414   Latest Fixed the account validation issue (across multiple threads simultaneously) in the JMS Account. February 2025 main29887   Stable Updated and certified against the current SnapLogic Platform release. November 2024 439patches29671   Latest Fixed an issue with the JMS Consumer Snap that caused it to stop receiving messages by adding a timeout policy around the JMS provider receive() method. November 2024 439patches29329   Latest Fixed an issue with the JMS Consumer Snap that displays ExecutionException when the Snap captures a connection error. Now, it routes the connection error to the error view. November 2024 main29029   Stable Updated and certified against the current SnapLogic Platform release. August 2024 main27765   Stable Updated and certified against the current SnapLogic Platform release. 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 432patches20479   Latest Fixed an issue where the JMS Producer Snap was previously only writing headers to the WebLogic queue. Now the Snap writes the entire document. February 2023 main19844   Stable Upgraded with the latest SnapLogic Platform release. November 2022 main18944   Stable Upgraded with the latest SnapLogic Platform release. August 2022 main17386   Stable Upgraded with the latest SnapLogic Platform release. 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 main11181   Stable Upgraded with the latest SnapLogic Platform release. 4.25 main9554   Stable Upgraded with the latest SnapLogic Platform release. 4.24 Patch 4.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 Patch 424patches9104   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.24 main8556 Stable Upgraded with the latest SnapLogic Platform release. 4.23 main7430   Stable Upgraded with the latest SnapLogic Platform release. 4.22 Patch 422patches6992   Latest Fixes the JMS Snap Pack by replacing JMS class loader for Oracle AQ (Advance Queuing). 4.22 main6403   Stable Upgraded with the latest SnapLogic Platform release. 4.21 snapsmrc542   Stable Upgraded 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.20 snapsmrc535   Stable Upgraded 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.19 snaprsmrc528   Stable Upgraded 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.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 Added HornetQ support for the JMS Producer and JMS Consumer Snaps. 4.14 snapsmrc490   Stable Upgraded with the latest SnapLogic Platform release. 4.13 snapsmrc486   Stable Upgraded with the latest SnapLogic Platform release. 4.12 snapsmrc480   Stable Upgraded with the latest SnapLogic Platform release. 4.11 snapsmrc465   Stable Upgraded with the latest SnapLogic Platform release. 4.10 snapsmrc414   Stable Upgraded with the latest SnapLogic Platform release. 4.9 Patch  jms3305   Latest Elegant error & resolution messaging for bad ConnectionFactory and bad connectionFactoryNames JNDI property 4.9 snapsmrc405   Stable Upgraded 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 Patch jms2883   Latest Addressed multiple issues regarding messages being consumed or acknowledged in JMS Consumer and Acknowledge Snaps. 4.8 snapsmrc398   Stable Upgraded with the latest SnapLogic Platform release. 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 Upgraded 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.