JMS Producer (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) Producer step allows Pentaho Data Integration to send text messages to Apache ActiveMQ JMS server. Additionally, you can send text messages to any JNDI-enabled JMS server if you've embedded PDI to run in a J2EE container.

You could use the JMS Producer step to define a transformation that for every update of a warehouse, posts to a JMS queue that could launch another job that flushes an application cache.

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

JMS Producer Options



Step Name

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

ActiveMQ Connection*

Enable ActiveMQ Connection you are using the 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 a single consumer. If there are no consumers registered to consume the messages, the messages are held in the queue until a consumer registers to consume them.


Specify the queue or topic name.

Header Properties

If the header properties file is specified, then the name/value pairs are submitted with the message text as JMS string properties.

Is field a filename?

Enable if the message is based on a field name. In this instance, the contents of the file, (not the field name), are sent.

Field Name

If applicable, select the name of the field from the list.

Context & Examples

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