Skip to Content

JMS Consume activity

Introduction

A JMS Consume activity, using its JMS connection, consumes messages from a JMS queue and is intended to be used as a source to provide data in an operation.

Prerequisites

To use the Consume activity, these prerequisites must be met:

  • A private agent version 10.70 or later (for 10.x private agents) or 11.8 or later (for 11.x private agents). For private agent groups that contain multiple agents, the private agent version must be 10.78 or later (for 10.x private agents), or 11.8 or later (for 11.x private agents).

  • To fully benefit from the listening service's load-balancing and fault-tolerance features, it is recommended to have a minimum of two private agents in the agent group.

  • The private agent must have the listening service enabled as described in Enable the listening service on the agent. This is a manual step in configuration and is not enabled by default.

  • Once an operation is deployed, the Integration Studio project must have the listening service enabled at both the operation level and the activity level as described in Enable the listening service on the operation and activity. This is manual step performed at the time of project design or project management.

Create a JMS Consume activity

An instance of a JMS Consume activity is created from a JMS connection using its Consume activity type.

To create an instance of an activity, drag the activity type to the design canvas or copy the activity type and paste it on the design canvas. For details, see Create an activity instance in Component reuse.

An existing JMS Consume activity can be edited from these locations:

Configure a JMS Consume activity

Follow these steps to configure a JMS Consume activity:

Step 1: Enter a name and specify settings

In this step, provide a name for the activity and specify the queue name. Each user interface element of this step is described below.

JMS Consume activity configuration step 1

Tip

Fields with a variable icon Variable icon support using global variables, project variables, and Jitterbit variables. Begin either by typing an open square bracket [ into the field or by clicking the variable icon to display a list of the existing variables to choose from.

  • Name: Enter a name to identify the activity. The name must be unique for each JMS Consume activity and must not contain forward slashes / or colons :.

  • Queue name: Enter the queue name.

  • Transacted Session: Select to use a transacted session. When using a transacted session, an acknowledgeId is returned in the activity response, which can then be used to acknowledge the message through the Acknowledge activity. If unselected, an acknowledgeId is not returned.

  • Save & Exit: If enabled, click to save the configuration for this step and close the activity configuration.

  • Next: Click to temporarily store the configuration for this step and continue to the next step. The configuration will not be saved until you click the Finished button on the last step.

  • Discard Changes: After making changes, click to close the configuration without saving changes made to any step. A message asks you to confirm that you want to discard changes.

Step 2: Review the data schemas

Any request or response schemas are displayed. Each user interface element of this step is described below.

JMS Consume activity configuration step 2

  • Data schemas: These data schemas are inherited by adjacent transformations and are displayed again during transformation mapping.

    The Consume activity uses JSON in its response schema.

    The response data schema consists of these nodes and fields:

    Response Schema Node/Field Description
    acknowledgeId String with the acknowledge ID, returned only when using a transacted session
    message Node representing the messages retrieved
    messageHeaders Node representing the message header of the retrieved message
    JMSCorrelationID String of the correlation ID of the retrieved message
    JMSDeliveryMode String indicating whether the retrieved message will be persistent (2) or non-persistent (1)
    JMSDestination String representing the destination of the message
    JMSExpiration Integer representing the time in milliseconds to expire the message, with 0 indicating a message will never expire
    JMSMessageID Unique identifier for the message
    JMSPriority Integer value ranging from 0 through 9 indicating the priority of the message
    JMSRedelivered Set to true if the message is being resent to the consumer
    JMSReplyTo The reply destination that is supplied in the replyTo field in the Send activity's request schema or the JMSReplyTo header field of the JMS message
    JMSTimestamp The time in milliseconds that the message was sent
    JMSType The message type that is supplied in the JMSType header field of the JMS message
    customMessageProperties Node representing the custom JMS message properties
    item Node representing the custom properties
    name The name of the custom property
    value The value of the custom property
    messageBody The body of the JMS message
  • Refresh: Click the refresh icon or the word Refresh to regenerate schemas from the JMS endpoint. This action also regenerates a schema in other locations throughout the project where the same schema is referenced, such as in an adjacent transformation.

  • Back: Click to temporarily store the configuration for this step and return to the previous step.

  • Finished: Click to save the configuration for all steps and close the activity configuration.

  • Discard Changes: After making changes, click to close the configuration without saving changes made to any step. A message asks you to confirm that you want to discard changes.

Next steps

After configuring a JMS Consume activity, you first configure an operation, and then deploy the operation and enable events.

Configure an operation

Complete the configuration of the operation by adding and configuring other activities, transformations, or scripts as operation steps. You can also configure the operation settings, which include the ability to chain operations together that are in the same or different workflows.

Menu actions for an activity are accessible from the project pane and the design canvas. For details, see Activity actions menu in Connector basics.

JMS Consume activities can be used as a source with these operation patterns:

To use the activity with scripting functions, write the data to a temporary location and then use that temporary location in the scripting function.

Deploy the operation and enable events

Once the operation is configured, deploy it. Deploying the operation activates a toggle that is present at the bottom of the operation on the design canvas. By default, event listening is disabled.

To enable event listening for the operation, click the toggle:

consume activity events enabled

When event listening is enabled, the operation will run when it is triggered by the configured event.

Note

Activities that listen to the same event in multiple operations or multiple projects will track those events separately and consume a message in each configured activity. That is, each operation configured with an enabled event will run when the event occurs.

After the operation triggers, you can validate behavior by checking the operation logs. A log entry is made for every message processed by the listening operation.

Administrators can also enable or disable event listening from the Management Console Projects page.