The VM Connector is used for intra/inter app communication. The communication is done through asynchronous queues, which can be either transient or persistent. Transient queues are faster, but not reliable in the case of a system crash. Persistent queues, on the other hand are slower but reliable. When running on a single instance, persistent queues work by serializing and storing the contents into disk. When running in cluster mode, persistent queues are backed by the memory grid instead. This means that when a flow uses the VM connector to publish content to a queue, the Runtime will decide whether to process that message in the same origin node or to send it out to the cluster for another node to pick it up. This is an easy way to distribute load across the cluster. In either way, transactions are always supported.

Configurations


Config

Default configuration

Parameters

Name Type Description Default Value Required

Name

String

The name for this configuration. Connectors reference the configuration with this name.

x 

Connection

The connection types that can be provided to this configuration.

x 

Connection Types

Connection
Parameters
Name Type Description Default Value Required

Reconnection

When the application is deployed, a connectivity test is performed on all connectors. If set to true, deployment will fail if the test doesn't pass after exhausting the associated reconnection strategy

 

Associated Operations

Associated Sources

Operations

Consume

Parameters

Name Type Description Default Value Required

Configuration

String

The name of the configuration to use.

x 

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

 

Queue Name

String

x 

Timeout

Number

5

 

Timeout Unit

Enumeration, one of:

  • NANOSECONDS

  • MICROSECONDS

  • MILLISECONDS

  • SECONDS

  • MINUTES

  • HOURS

  • DAYS

SECONDS

 

Target Variable

String

The name of a variable on which the operation's output will be placed

 

Target Value

String

An expression that will be evaluated against the operation's output and the outcome of that expression will be stored in the target variable

#[payload]

 

Reconnection Strategy

A retry strategy in case of connectivity errors

 

Output

Type

Any

Attributes Type

For Configurations.

Throws

  • VM:EMPTY_QUEUE  

  • VM:RETRY_EXHAUSTED  

  • VM:QUEUE_NOT_FOUND  

  • VM:CONNECTIVITY  

Publish

Parameters

Name Type Description Default Value Required

Configuration

String

The name of the configuration to use.

x 

Content

Any

#[payload]

 

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

 

Queue Name

String

x 

Timeout

Number

5

 

Timeout Unit

Enumeration, one of:

  • NANOSECONDS

  • MICROSECONDS

  • MILLISECONDS

  • SECONDS

  • MINUTES

  • HOURS

  • DAYS

SECONDS

 

Reconnection Strategy

A retry strategy in case of connectivity errors

 

For Configurations.

Throws

  • VM:RETRY_EXHAUSTED  

  • VM:QUEUE_TIMEOUT  

  • VM:QUEUE_NOT_FOUND  

  • VM:CONNECTIVITY  

Publish Consume

Parameters

Name Type Description Default Value Required

Configuration

String

The name of the configuration to use.

x 

Content

Any

#[payload]

 

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

 

Queue Name

String

x 

Timeout

Number

5

 

Timeout Unit

Enumeration, one of:

  • NANOSECONDS

  • MICROSECONDS

  • MILLISECONDS

  • SECONDS

  • MINUTES

  • HOURS

  • DAYS

SECONDS

 

Target Variable

String

The name of a variable on which the operation's output will be placed

 

Target Value

String

An expression that will be evaluated against the operation's output and the outcome of that expression will be stored in the target variable

#[payload]

 

Reconnection Strategy

A retry strategy in case of connectivity errors

 

Output

Type

Any

Attributes Type

For Configurations.

Throws

  • VM:RETRY_EXHAUSTED  

  • VM:QUEUE_TIMEOUT  

  • VM:QUEUE_NOT_FOUND  

  • VM:CONNECTIVITY  

Sources

Listener

Parameters

Name Type Description Default Value Required

Configuration

String

The name of the configuration to use.

x 

Number Of Consumers

Number

4

 

Transactional Action

Enumeration, one of:

  • ALWAYS_BEGIN

  • NONE

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

NONE

 

Transaction Type

Enumeration, one of:

  • LOCAL

  • XA

The type of transaction to create. Availability will depend on the runtime version.

LOCAL

 

Redelivery Policy

Defines a policy for processing the redelivery of the same message

 

Queue Name

String

x 

Timeout

Number

5

 

Timeout Unit

Enumeration, one of:

  • NANOSECONDS

  • MICROSECONDS

  • MILLISECONDS

  • SECONDS

  • MINUTES

  • HOURS

  • DAYS

SECONDS

 

Queue Type

Enumeration, one of:

  • TRANSIENT

  • PERSISTENT

TRANSIENT

 

Max Outstanding Messages

Number

0

 

Reconnection Strategy

A retry strategy in case of connectivity errors

 

Content

Any

#[payload]

 

Output

Type

Any

Attributes Type

For Configurations.

Throws

  • MULE:SOURCE_RESPONSE_SEND  

  • MULE:SOURCE_RESPONSE_GENERATE  

Types

Reconnection

Field Type Default Value

Fails Deployment

Boolean

Reconnection Strategy

Reconnect

Field Type Default Value

Frequency

Number

Count

Number

Reconnect Forever

Field Type Default Value

Frequency

Number

VM Message Attributes

Field Type Default Value

Queue Name

String

Timestamp

DateTime

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