Contact Us 1-800-596-4880

JMS Connector Reference - Mule 4

JMS Connector v1.7

Anypoint Connector for JMS (JMS Connector) enables your app to do messaging using the JMS implementation of your choice.

The JMS documentation set provides information about multiple versions of the JMS connector.

For information about each Mule 4 JMS Connector version, see:

Configurations


Default Configuration

Base configuration for JMS Connector

Parameters

Name Type Description Default Value Required

Name

String

The name of this configuration. With this name can be later referenced.

x

Encoding

String

The default encoding of the Message body to use if the message doesn’t communicate it

Content Type

String

The default contentType of the Message body to use if the message doesn’t communicate it

/

Ack Mode

Enumeration, one of:

  • IMMEDIATE

  • AUTO

  • MANUAL

  • DUPS_OK

The ConsumerAckMode to use when consuming a Message Can be overridden at the message source level. This attribute has to be IMMEDIATE if transactionType is LOCAL or MULTI

AUTO

Consumer Type

One of:

The ConsumerType to use by default when consuming a Message Can be overridden at the message source level.

Selector

String

Default selector to use for filtering when consuming a Message Can be overridden at the message source level.

Max Redelivery

Number

Used to configure the number of redelivers before discarding the message. No redelivery is represented with 0, while -1 means infinite re deliveries accepted.

0

Persistent Delivery

Boolean

Sets the default value for the Message#getJMSDeliveryMode. If true, the DeliveryMode#PERSISTENT mode is used, which instructs the JMS provider to take extra care to insure the message is not lost in transit due to a JMS provider failure.

false

Priority

Number

Defines the default Message#getJMSPriority to use when sending messages

4

Time To Live

Number

Defines the default time the message is in the broker before it expires and is discarded

0

Time To Live Unit

Enumeration, one of:

  • NANOSECONDS

  • MICROSECONDS

  • MILLISECONDS

  • SECONDS

  • MINUTES

  • HOURS

  • DAYS

A TimeUnit which qualifies the #timeToLive attribute. Defaults to MILLISECONDS

MILLISECONDS

Disable Message Id

Boolean

Defines the default value to use when producing messages, for disabling the Message#getJMSMessageID generation in the broker. Depending on the provider it may or may not have effect

false

Disable Message Timestamp

Boolean

Defines the default value to use, when producing messages, for disable Message#getJMSTimestamp generation in the broker. Depending on the provider it may or may not have effect.

false

Delivery Delay

Number

This is used to determine the Message delivery delay time which is calculated by adding the deliveryDelay value specified on the send method to the time the message was sent.

Only used in JmsSpecification#JMS_2_0

Delivery Delay Unit

Enumeration, one of:

  • NANOSECONDS

  • MICROSECONDS

  • MILLISECONDS

  • SECONDS

  • MINUTES

  • HOURS

  • DAYS

A TimeUnit which qualifies the #deliveryDelay attribute.

Defaults to MILLISECONDS

MILLISECONDS

Jms Type

String

A message JMSType identifier supplied by a client when a message is sent.

Operations

Operations

Consume

<http://www.mulesoft.org/schema/mule/jms:consume>

Operation that allows the user to consume a single Message from a given Destination, extra configurations that are required based on the destination type and headers as Result#getAttributes.

Parameters

Name Type Description Default Value Required

Configuration

String

The name of the configuration to use.

x

Destination

String

The name of the Destination from where the Message should be consumed

x

Consumer Type

One of:

The type of the MessageConsumer that is required for the given destination, along with any

Ack Mode

Enumeration, one of:

  • IMMEDIATE

  • MANUAL

The ConsumerAckMode to configure over the Message and Session

Selector

String

A custom JMS selector for filtering the messages

Content Type

String

The Message’s content content type

Encoding

String

The Message’s content encoding

Maximum Wait

Number

Maximum time to wait for a message before timing out

10000

Maximum Wait Unit

Enumeration, one of:

  • NANOSECONDS

  • MICROSECONDS

  • MILLISECONDS

  • SECONDS

  • MINUTES

  • HOURS

  • DAYS

Time unit to use in the maximumWaitTime configurations

MILLISECONDS

Transactional Action

Enumeration, one of:

  • ALWAYS_JOIN

  • JOIN_IF_POSSIBLE

  • NOT_SUPPORTED

The type of joining action that operations can take regarding transactions.

JOIN_IF_POSSIBLE

Target Variable

String

The name of a variable to store the operation’s output.

Output

Type

Any

Attributes Type

JMS Attributes

For Configurations

Throws

  • JMS:ACK

  • JMS:CONNECTIVITY

  • JMS:CONSUMING

  • JMS:DESTINATION_NOT_FOUND

  • JMS:RETRY_EXHAUSTED

  • JMS:TIMEOUT

Publish

<http://www.mulesoft.org/schema/mule/jms:publish>

Operation that allows the user to send a Message to a JMS Destination

Parameters

Name Type Description Default Value Required

Configuration

String

The name of the configuration to use.

x

Destination

String

The name of the Destination where the Message should be sent

x

Destination Type

Enumeration, one of:

  • QUEUE

  • TOPIC

The type of the Destination

QUEUE

Transactional Action

Enumeration, one of:

  • ALWAYS_JOIN

  • JOIN_IF_POSSIBLE

  • NOT_SUPPORTED

The type of joining action that operations can take regarding transactions.

JOIN_IF_POSSIBLE

Body

Any

The body of the Message

#[payload]

Jms Type

String

The JMSType header of the Message

Correlation Id

String

The JMSCorrelationID header of the Message

Send Content Type

Boolean

True if the body type should be sent as a Message property

true

ContentType

String

The content type of the body

Send Encoding

Boolean

True if the body outboundEncoding should be sent as a Message property

true

Encoding

String

The outboundEncoding of the message’s body

Reply To

The JMSReplyTo header information of the Destination where this Message should be replied to

User Properties

Object

The custom user properties that should be set to this Message

JMSX Properties

The JMSX properties that should be set to this Message

Persistent Delivery

Boolean

If true, the Message is sent using the PERSISTENT JMSDeliveryMode

Priority

Number

The default JMSPriority value to use when sending the message

Time To Live

Number

Defines the default time the message is in the broker before it expires and is discarded

Time To Live Unit

Enumeration, one of:

  • NANOSECONDS

  • MICROSECONDS

  • MILLISECONDS

  • SECONDS

  • MINUTES

  • HOURS

  • DAYS

Time unit to use in the timeToLive configurations

Disable Message Id

Boolean

If true, the Message is flagged to avoid generating its MessageID

Disable Message Timestamp

Boolean

If true, the Message is flagged to avoid generating its sent Timestamp

Delivery Delay

Number

Only used by JMS 2.0. Sets the delivery delay to be applied to postpone the Message delivery

Delivery Delay Unit

Enumeration, one of:

  • NANOSECONDS

  • MICROSECONDS

  • MILLISECONDS

  • SECONDS

  • MINUTES

  • HOURS

  • DAYS

Time unit to use in the deliveryDelay configurations

For Configurations

Throws

  • JMS:CONNECTIVITY

  • JMS:DESTINATION_NOT_FOUND

  • JMS:ILLEGAL_BODY

  • JMS:PUBLISHING

  • JMS:RETRY_EXHAUSTED

Publish Consume

<http://www.mulesoft.org/schema/mule/jms:publish-consume>

Operation that allows the user to send a message to a JMS Destination and waits for a response either to the provided ReplyTo destination or to a temporary Destination created dynamically and headers as Result#getAttributes.

Parameters

Name Type Description Default Value Required

Configuration

String

The name of the configuration to use.

x

Destination

String

The name of the Destination where the Message should be sent

x

Body

Any

The body of the Message

#[payload]

Jms Type

String

The JMSType header of the Message

Correlation Id

String

The JMSCorrelationID header of the Message

Send Content Type

Boolean

True if the body type should be sent as a Message property

true

ContentType

String

The content type of the body

Send Encoding

Boolean

True if the body outboundEncoding should be sent as a Message property

true

Encoding

String

The outboundEncoding of the message’s body

Reply To

The JMSReplyTo header information of the Destination where this Message should be replied to

User Properties

Object

The custom user properties that should be set to this Message

JMSX Properties

The JMSX properties that should be set to this Message

Persistent Delivery

Boolean

If true, the Message is sent using the PERSISTENT JMSDeliveryMode

Priority

Number

The default JMSPriority value to use when sending the message

Time To Live

Number

Defines the default time the message is in the broker before it expires and is discarded

Time To Live Unit

Enumeration, one of:

  • NANOSECONDS

  • MICROSECONDS

  • MILLISECONDS

  • SECONDS

  • MINUTES

  • HOURS

  • DAYS

Time unit to use in the timeToLive configurations

Disable Message Id

Boolean

If true, the Message is flagged to avoid generating its MessageID

Disable Message Timestamp

Boolean

If true, the Message is flagged to avoid generating its sent Timestamp

Delivery Delay

Number

Only used by JMS 2.0. Sets the delivery delay to be applied to postpone the Message delivery

Delivery Delay Unit

Enumeration, one of:

  • NANOSECONDS

  • MICROSECONDS

  • MILLISECONDS

  • SECONDS

  • MINUTES

  • HOURS

  • DAYS

Time unit to use in the deliveryDelay configurations

Ack Mode

Enumeration, one of:

  • IMMEDIATE

  • MANUAL

The Session ACK mode to use when consuming the message

Maximum Wait

Number

Maximum time to wait for a message to arrive before timeout

10000

Maximum Wait Unit

Enumeration, one of:

  • NANOSECONDS

  • MICROSECONDS

  • MILLISECONDS

  • SECONDS

  • MINUTES

  • HOURS

  • DAYS

Time unit to use in the maximumWaitTime configuration

MILLISECONDS

Content Type

String

The content type of the message body to be consumed

Encoding

String

The encoding of the message body to be consumed

Target Variable

String

The name of a variable to store the operation’s output.

Output

Type

Any

Attributes Type

JMS Attributes

For Configurations

Throws

  • JMS:ACK

  • JMS:CONNECTIVITY

  • JMS:CONSUMING

  • JMS:DESTINATION_NOT_FOUND

  • JMS:ILLEGAL_BODY

  • JMS:PUBLISHING

  • JMS:RETRY_EXHAUSTED

  • JMS:TIMEOUT

Ack

<http://www.mulesoft.org/schema/mule/jms:ack>

Allows the user to perform an ACK when the AckMode#MANUAL mode is elected while consuming the Message. As per JMS Spec, performing an ACK over a single Message automatically works as an ACK for all the Messages produced in the same JmsSession to a session of the current connection.

Parameters

Name Type Description Default Value Required

Ack Id

String

The AckId of the Message to ACK

x

Throws

  • JMS:ACK

Recover Session

<http://www.mulesoft.org/schema/mule/jms:recover-session>

Allows the user to perform a session recover when the AckMode#MANUAL mode is elected while consuming the Message. As per JMS Spec, performing a session recover automatically redelivers all the consumed messages that had not been acknowledged before this recover.

Parameters

Name Type Description Default Value Required

Ack Id

String

The AckId of the Message Session to recover

x

Throws

  • JMS:SESSION_RECOVER

Sources

Listener

<http://www.mulesoft.org/schema/mule/jms:listener>

JMS Subscriber for Destinations, allows to listen for incoming Messages

Parameters

Name Type Description Default Value Required

Configuration

String

The name of the configuration to use.

x

Destination

String

The name of the Destination from where the Message should be consumed

x

Consumer Type

One of:

The Type of the Consumer that should be used for the provided destination

Ack Mode

Enumeration, one of:

  • IMMEDIATE

  • AUTO

  • MANUAL

  • DUPS_OK

The Session ACK mode to use when consuming a message

Selector

String

JMS selector to use for filtering incoming messages

Inbound Content Type

String

The content type of the message body

Inbound Encoding

String

The inboundEncoding of the message body

Number Of Consumers

Number

The number of concurrent consumers to use to receive JMS Messages

4

Transactional Action

Enumeration, one of:

  • ALWAYS_BEGIN

  • NONE

The type of beginning action that sources can take regarding transactions.

NONE

Redelivery Policy

Defines a policy for processing the redelivery of the same message

Reconnection Strategy

A retry strategy in case of connectivity errors.

Body

Any

The body of the Message

#[payload]

Jms Type

String

The JMSType identifier header of the Message

Correlation Id

String

The JMSCorrelationID header of the Message

Send Content Type

Boolean

Whether or not the body content type should be sent as a property

true

ContentType

String

The content type of the message’s body

Send Encoding

Boolean

Whether or not the body outboundEncoding should be sent as a Message property

true

Encoding

String

The encoding of the message’s body

Reply To

The destination where a reply to this Message should be sent

User Properties

Object

The custom user properties that should be set to this Message

JMSX Properties

The JMSX properties that should be set to this Message

Persistent Delivery

Boolean

Whether or not the delivery should be done with a persistent configuration

Priority

Number

The default JMSPriority value to use when sending the message

Time To Live

Number

Defines the default time the message is in the broker before it expires and is discarded

Time To Live Unit

Enumeration, one of:

  • NANOSECONDS

  • MICROSECONDS

  • MILLISECONDS

  • SECONDS

  • MINUTES

  • HOURS

  • DAYS

Time unit to use in the timeToLive configurations

Disable Message Id

Boolean

If true, the Message is flagged to avoid generating its MessageID

Disable Message Timestamp

Boolean

If true, the Message is flagged to avoid generating its sent Timestamp

Delivery Delay

Number

Only used by JMS 2.0. Sets the delivery delay to be applied to postpone the Message delivery

Delivery Delay Unit

Enumeration, one of:

  • NANOSECONDS

  • MICROSECONDS

  • MILLISECONDS

  • SECONDS

  • MINUTES

  • HOURS

  • DAYS

Time unit to use in the deliveryDelay configurations

Output

Type

Any

Attributes Type

JMS Attributes

For Configurations

Throws

  • MULE:SOURCE_ERROR_RESPONSE_GENERATE

  • MULE:SOURCE_ERROR_RESPONSE_SEND

  • MULE:SOURCE_RESPONSE_GENERATE

  • MULE:SOURCE_RESPONSE_SEND

Types

Redelivery Policy

Field Type Default Value

Max Redelivery Count

Number

Use Secure Hash

Boolean

Message Digest Algorithm

String

Id Expression

String

Object Store Ref

String

Reconnect

Field Type Description Default Value Required

Frequency

Number

How often in milliseconds to reconnect.

Count

Number

How many reconnection attempts to make.

blocking

Boolean

If false, the reconnection strategy runs in a separate, non-blocking thread.

true

Reconnect Forever

Field Type Description Default Value Required

Frequency

Number

How often in milliseconds to reconnect.

blocking

Boolean

If false, the reconnection strategy runs in a separate, non-blocking thread.

true

JMS Destination

Field Type Default Value

Destination

String

Destination Type

Enumeration, one of:

  • QUEUE

  • TOPIC

QUEUE

JMSX Properties

Field Type Default Value

Jmsx User ID

String

Jmsx App ID

String

Jmsx Delivery Count

Number

Jmsx Group ID

String

Jmsx Group Seq

Number

Jmsx Producer TXID

String

Jmsx Consumer TXID

String

Jmsx Rcv Timestamp

Number

Pooling Profile

Field Type Default Value

Max Active

Number

Max Idle

Number

Max Wait

Number

Min Eviction Millis

Number

Eviction Check Interval Millis

Number

Exhausted Action

Enumeration, one of:

  • WHEN_EXHAUSTED_GROW

  • WHEN_EXHAUSTED_WAIT

  • WHEN_EXHAUSTED_FAIL

Initialisation Policy

Enumeration, one of:

  • INITIALISE_NONE

  • INITIALISE_ONE

  • INITIALISE_ALL

Disabled

Boolean

Active MQ Connection Factory Configuration

Field Type Default Value

Broker Url

String

vm://localhost?broker.persistent=false&broker.useJmx=false

Enable Xa

Boolean

false

Initial Redelivery Delay

Number

1000

Redelivery Delay

Number

1000

Max Redelivery

Number

0

Topic Consumer

Field Type Default Value

Is Durable

Boolean

false

Is Shared

Boolean

false

No Local

Boolean

false

Subscription Name

String

Default Caching

Field Type Default Value

Session Cache Size

Number

Cache Producers

Boolean

true

Cache Consumers

Boolean

true

JNDI Connection Factory

Field Type Default Value

Connection Factory Jndi Name

String

Lookup Destination

Enumeration, one of:

  • NEVER

  • ALWAYS

  • TRY_ALWAYS

NEVER

Name Resolver Provider

JNDI Name Resolver Provider

Field Type Default Value

Custom Jndi Name Resolver

Name Resolver Builder

JNDI Name Resolver Properties

Field Type Default Value

Jndi Initial Context Factory

String

Jndi Provider Url

String

Provider Properties

Object

Simple JNDI Name Resolver

Field Type Default Value

Context Factory

Any

Jndi Initial Factory

String

Jndi Provider Properties

Object

Jndi Provider Url

String

Cached JNDI Name Resolver

Field Type Default Value

Context Factory

Any

Jndi Initial Factory

String

Jndi Provider Properties

Object

Jndi Provider Url

String

See Also

View on GitHub