Skip to main content

Pentaho+ documentation has moved!

The new product documentation portal is here. Check it out now at docs.hitachivantara.com

 

Hitachi Vantara Lumada and Pentaho Documentation

JMS Producer

 

Parent article

The JMS Producer step publishes messages in near-real-time to the Apache ActiveMQ Java Messaging Service (JMS) server or IBM MQ middleware. You may use the JMS Producer step to define a transformation which publishes a stream of records to a JMS queue for every update of a warehouse. In turn, this queue could then launch another job that flushes an application cache.

Before you begin

 

Before using the JMS Producer step, be aware of the following conditions:

 

  • You must be familiar with JMS messaging to use this step. Additionally, you must have a message broker, such as Apache ActiveMQ or IBM MQ, available before you configure this step.
  • This step supports JMS 2.0 and requires Apache ActiveMQ Artemis.
  • If you need to use JMS 1.1 with ActiveMQ or Artemis, use the previous versions of the JMS Consumer and JMS Producer steps, also available in Pentaho version 8.1 and earlier.
  • Place IBM MQ client JARs for the IBM MQ middleware in the following directories:
    • On the PDI client: data-integration/system/karaf/deploy
    • On the Pentaho Server: server/pentaho-server/pentaho-solutions/system/karaf/deploy
    You need to locate the Websphere® MQ classes for JMS Java libraries from your IBM Websphere® MQ installation. You can also find these libraries in your IBM Websphere MQ Client SupportPac. The Websphere® MQ Java libraries version that the PDI plugin steps were built against is 9.0.0.3.The libraries that you must have available for distribution into the PDI JMS plugin are:
    • ocom.ibm.mq.osgi.allclientprereqs_9.0.0.3.jar
    • ocom.ibm.mq.osgi.allclient_9.0.0.3.jar
    • ocom.ibm.mq.jmqi.jar
    • odhbcore.jar
    Because IBM licensing prevents us from distributing these libraries directly, you will need to add them to your PDI directories.
  • Place JMS Library jars for the ConnectionFactory and other supporting classes in the following directories:
    • On the PDI client: data-integration/system/karaf/deploy
    • On the Pentaho Server: server/pentaho-server/pentaho-solutions/system/karaf/deploy

General

 

Enter the following information in the following field:

  • Step name: Specifies the unique name of the transformation on the canvas. The Step name is set to JMS Producer by default.

JMS connection information

 

JMS Producer step

Setup tab

 

In this tab, define the connections used for receiving messages, topics, and queues.

Option Description
IBM MQ Activate this connection type if you are using IBM MQ as your message broker.
Active MQ Activate this connection type if you are using Apache ActiveMQ Artemis and JMS 2.0 as your message broker.
JMS URL Enter the broker URL for the selected connection type.
Destination type

Select Topic or Queue from the list to specify the delivery model you want to use.

  • Topic

    Uses a publish/subscribe delivery model such 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.

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

Destination name Specify the name of the topic or queue.
Receive timeout Specify the time to wait for incoming messages in milliseconds.

Note that a timeout setting of zero (0) never expires.

Security tab

 

Security tab in JMS Producer

The Security tab includes the following authentication options and values:

Option Description
Username Specify the user name required to access the Active MQ or IBM MQ server.
Password Specify the password associated with the user name.
Use secure protocol Select to secure the message stream with the Secure Socket Layer (SSL) protocol. You can adjust the settings of the protocol through the SSL properties table.

This security protocol setting is used only on the Pentaho engine. It not used on the AEL Spark engine.

Use JVM default SSL context Select to inherit the default SSL properties from the JVM, instead of configuring them in the SSL properties table.

The following SSL values are available, depending on whether you use ActiveMQ or IBM MQ as the connection method for the step:

Name Value
Ciphersuite Specify a CipherSuite name. Values depend on the provider. For more details, see: https://docs.oracle.com/javase/8/docs/technotes/guides/security/SunProviders.html
Context Algorithm Specify the name of the secure protocol you are using.
FIPS required IBM MQ only: Specify True to enable support for the Federal Information Processing Standard (FIPS). Specify False if FIPS is not required.
Key Store Password Specify the password for the key store object you want this secure connection to use.
Key Store Path Specify the file path location of the key store you want this secure connection to use.
Key Store Type IBM MQ only: Specify the format of the key store.
SSL Provider

Active MQ only: Specify the SSL implementation you want to use, either JDK or OpenSSL.

If you specify OpenSSL, you will need to provide the OpenSSL libraries. For details, see the ActiveMQ documentation: https://activemq.apache.org/artemis/docs/latest/configuring-transports.html

Trust Store Password IBM MQ only: Specify the password for the trust store object you want this secure connection to use.
Trust All Active MQ only: Specify either True or False. False is recommended. Specify True if you want this connection to trust all certificates without validation. True is not recommended for production use.
Trust Store Path Specify the file path location of the trust store certificates you want this secure connection to use.
Trust Store Type IBM MQ only: Specify the format of the trust store.
Verify Host Active MQ only: Specify True if you want this secure connection to verify that the host server name matches its certificate. Specify False to omit host verification.

Options tab

 

Use this tab to configure JMS message options.

Options tab

Fill in the following JMS options with valid values per ActiveMQ or IBM MQ.

Option Valid Value
Disable Message ID true or false
Disable Message Timestamp true or false
Delivery Mode Integer (example 1)
Priority Integer between 0 and 9 (example 2)
Time to Live Integer (example 4)

Note that this value must be greater than the value of the Delivery Delay.

Delivery Delay Integer (example 2)
JMS Correlation ID Any ID (example Vantara)
JMS Type Active MQ or IBM MQ

Properties tab

 

Use this tab to set additional properties for your connection type.

Properties tab

Metadata injection support

 

All fields of this step support metadata injection. You can use this step with ETL metadata injection to pass metadata to your transformation at runtime.