JMS Target

A JMS Target activity enables you to send messages to JMS server, such as Apache MQ Server, Oracle AQ Server and Oracle WebLogic using JMS provider. JMS target is used to post the target data in a topic or to post the data in the queue of a JMS Server.

This section describes how to create a JMS Target activity using the following details of a message to be sent to JMS server, as an example:

Connection Type

Queue

Transfer Type

Secure

Queue Name

ReceiveMessage

User Name

MyUserName

Password

Mypassword

Delivery Mode

Delivery Mode

Correlation ID

EmpDetails


Prerequisites
JMS Provider activity must be created before creating JMS Target activity

Steps to create a JMS Target Activity

  1. Click Configure > TARGETS > JMS Target.
  2. Click CREATE JMS Target.
  3. On Create JMS Target screen, enter the name and description of the new JMS Target in the textboxes Name and Description respectively.



  4. Select the JMS Provider activity from the drop-down list of JMS Provider.
  5. Select the connection type as either QUEUE or TOPIC from the drop-down list of Connection Type.
  6. Enter the name of queue or topic as configured in the JMS Server in the textbox of Queue Or Topic Name.
  7. Select the message type as either TEXT or BYTE from the drop-down list of Message Type.
  8. Select the Create Dynamically checkbox, if queue or topic specified above, doesn't already exist on the JMS Server. If you enable create dynamically checkbox, it will create the queue or topic specified above on the JMS Server.
  9. Follow the steps below based on whether you are using Hashicorp Vault to fetch the secrets (credentials) or you want to enter the secrets manually.

    To use Hashicorp Vault, you must enable Config Management feature and you may also need to do project mapping. For more details, refer to this page.

  10. To fetch the secrets from the Hashicorp Vault, do the followings:

    You can choose to use Hashicorp Vault for all or a specific field that need to contain secret.

    1. In the UserName field, enter the variable in the following format:
      ${Vault:<Key1>}
      Where, <Key1> is the key assigned to the username in the Hashicorp Vault. 

      Each secret is maintained as a key-value pair in Hashicorp Vault.

    2. Select the Use Vault checkbox if you want to use Vault for retrieving the password.

    3. In the Password field, enter the variable in the following format:
      ${Vault:<Key2>}
      Where, <Key2> is the key assigned to the password in the Hashicorp Vault.
  11. To enter the secrets manually, do the followings:
    1. In the UserName field, enter the username to connect to JMS Server.
    2. In the Password field, enter the password.
    3. In the Confirm Password field, re-enter the password.

  12. Select the delivery mode from the drop-down list of Delivery Mode. This list has the following options:
    • Persistent: Persistent messages are stored in the persistent storage to be delivered at a later date if a client is unavailable.  Persistent Message is retained, even if the JMS Server is restarted.
    • Non-Persistent: Non-Persistent messages are not stored in persistent storage. The non-persistent messages are lost, in case the JMS Server is restarted.
       

    • The default delivery mode is persistent.

  13. Enter the Correlation ID in the textbox Correlation ID. Correlation ID is used to link one message with another.
  14. Enter the priority level of the message in the textbox Message Priority. For example, if you want to send the message with priority 2, type 2 in the textbox Message Priority.
  15. Enter the address at which you want to send the reply in the Reply To field.
  16. Enter the time to live for the message in milliseconds in the textbox Time to Live.You can set "TimeToLive" header value in JMS Target activity based on the value of "JMSExpiration" header value received in input JMS message. These parameters have the following relation:

    JMSExpiration = currenttime + timeToLive.

    You can override the following JMS Target Message Properties at runtime:

    • Delivery Mode
    • Correlation iD
    • Message Priority
    • Reply To
    • Time to Live
    • Message Properties

    To know more on how to override these properties, refer to the Overriding JMS Target Message Properties section.

  17. Enter the name, type, and default value for JMS message parameters in the Message Properties table.For example, enter the following values:

    You can also add and delete rows in the Message Properties table as per your requirements.
  18. Select the Enable Message Splitter checkbox if you want to enable splitting of the messages based on message type and provide the following information.

    1. Message Type: Select the data format – JSON, XML, or PLAINTEXT – of the messages based on which you want to split them.

    2. Message Splitter: Enter the value for this field based on the selected Message Type.

      • If the Message Type is JSON: Enter an element name. You can also leave this field blank.
      • If the Message Type is XML: Enter an element name of the record.
      • If the Message Type is PLAINTEXT: Enter a delimiter.
  19. Expand Advanced Properties and select the project of the activity from the drop-down list of Project.


  20. Click the Save button. 

    You can verify the JMS target activity at design time. For this, click Test. This verifies the values given in the JMS Provider and Connection Type fields.