JMS Consumer (Deprecated)

(warning) PLEASE NOTE: This documentation applies to an earlier version. For the most recent documentation, visit the Pentaho Enterprise Edition documentation site.


The Java Messaging Service (JMS) Consumer step allows Pentaho Data Integration to receive text messages from Apache ActiveMQ JMS server. Additionally, you can receive text messages from any JNDI-enabled JMS server if you've embedded PDI to run in a J2EE container..

You could use JMS Consumer step to define a long running transformation that updates a data warehouse every time a JMS message is received.

You must be familiar with JMS messaging to use this step. Additionally, you must have a message broker like Apache ActiveMQ available before you configure this step. If you are using the Java Naming and Directory Interface (JNDI) to connect to JMS, you must have the appropriate connection information.

Note: Place JMS Library jars for the ConnectionFactory and other supporting classes in the .../data-integration/plugins/pdi-jms-plugin/lib directory.

License Information: Enterprise Edition only




Step Name

Optionally, you can change the name of this step to fit your needs.

ActiveMQ Connection

Enable ActiveMQ Connection you are using ActiveMQ as your message broker.


Enter the appropriate broker URL.


Enter the ActiveMQ user name.


Enter the ActiveMQ password.

Jndi Connection

Enable JNDI Connection if you are using the Java Naming and Directory Interface (JNDI) to connect to JMS

Jndi URL

The URL for the JNDI connection


Select Topic or Queue from the drop down list to specify whether you want to use a Topic or Queue delivery model.
Topic uses a publish/subscribe delivery model meaning that a one message can be delivered to multiple consumers. Messages are delivered to the topic destination, and ultimately to all active consumers who are subscribers of the topic. Also, any number of producers can send messages to a topic destination; each message can be delivered to any number of subscribers. If there are no registered consumers, the topic destination does not hold messages unless it has durable subscription for inactive consumers. A durable subscription represents a consumer registered with the topic destination that can be inactive at the time the messages are sent to the topic.

Queue uses a point-to-point delivery model. In this model, a message is delivered from a single producer to a single consumer. The messages are delivered to the destination, which is a queue, and then delivered to one of the consumers registered for the queue. While any number of producers can send messages to the queue, each message is guaranteed to be delivered, and consumed by one consumer. If no consumers are registered to consume the messages, the queue holds them until a consumer registers to consume them.


Specify the queue or topic name.

Receive Timeout

Specify the time to wait for incoming messages in milliseconds.Note: A timeout setting of zero never expires.

Field Name

Specify the field name that contains the contents of the message.

Context & Examples

Please see Processing Message Queues with Java Messaging Service (JMS)