Contact Us 1-800-596-4880

HL7 MLLP Connector Reference

MLLP Listener Configuration

Name Type Description Default Value Required

Name

String

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

x

Connection

Connection types that can be provided to this configuration.

x

Expiration Policy

Configures the minimum amount of time that a dynamic configuration instance can remain idle before Mule considers it eligible for expiration. This does not mean that the instance expires at the exact moment that it becomes eligible. Mule purges the instances when appropriate.

MLLP Listener Connection Type

Name Type Description Default Value Required

Delimiter

String

Character code that separates MLLP messages. By default, MLLP uses 001C.

x

TLS Configuration

TLS

Uses SSLServerSocket instead of plain TCPServerSocket for accepting new SSL connections.

Port

Number

Connection’s port number.

x

Host

String

Connection’s host name.

x

Reconnection

Configures a reconnection strategy to use when a connector operation fails to connect to an external server.

Send Buffer Size

Number

Size of the buffer used when sending data, in bytes. This is set on the socket.

Receive Buffer Size

Number

Size of the buffer used when receiving data, in bytes. This is set on the socket.

Client Timeout

Number

SO_TIMEOUT value on the socket, which indicates the amount of time, in milliseconds, that the socket waits in a blocking operation before it fails. A value of 0 means that the socket waits indefinitely.

0

Reuse Address

Boolean

If true, SO_REUSEADDRESS is set on the socket before binding. This helps reduce address already in use errors when a socket is reused.

true

Send TCP With No Delay

Boolean

If true, transmitted data is sent immediately instead of collected together for greater efficiency. This value defaults to true even though the socket default is false because reducing the amount of network traffic over latency is not usually a concern today.

true

Linger

Number

SO_LINGER value, in milliseconds, which indicates how long the socket takes to close so that remaining data is transmitted correctly.

Keep Alive

Boolean

If true, enables SO_KEEPALIVE behavior on open sockets. This automatically checks socket connections that are open, but unused, for long periods and closes them if the connection becomes unavailable. This is set on the socket. It is used by a server socket to control whether connections to the server are kept alive before they are recycled.

false

Fail On Unresolved Host

Boolean

Whether the socket fails during its creation if the host set on the endpoint can’t be resolved. Set this value to false to allow unresolved hosts (useful when connecting through a proxy).

true

Connection Count

Number

Number of connections accepted at one time. This value can be an integer or DataWeave expression. An empty value, negative value, or value of 0 indicates that the connector can accept an unlimited number of connections.

Server Timeout

Number

SO_TIMEOUT value when the socket is used as a server. This is the timeout that applies to the accept operation. A value of 0 (the ServerSocket default) causes the accept to wait indefinitely if no connection arrives.

Receive Backlog

Number

Maximum queue length for incoming connections.

50

Request Configuration

Configuration for requester sockets.

Name Type Description Default Value Required

Name

String

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

x

Connection

Connection types that can be provided to this configuration.

x

Expiration Policy

Configures the minimum amount of time that a dynamic configuration instance can remain idle before Mule considers it eligible for expiration. This does not mean that the instance expires at the exact moment that it becomes eligible. Mule purges the instances when appropriate.

MLLP Requester Connection Type

Name Type Description Default Value Required

Local Address Settings

Address that a socket should bind to.

TLS Configuration

TLS

Configuration for TLS, which can be used from both the client and server sides.

Port

Number

Connection’s port number.

x

Host

String

Connection’s host name.

x

Reconnection

Configures a reconnection strategy to use when a connector operation fails to connect to an external server.

Pooling Profile

Characteristics of the connection pool.

Send Buffer Size

Number

Size of the buffer used when sending data, in bytes. This is set on the socket.

Receive Buffer Size

Number

Size of the buffer used when receiving data, in bytes. This is set on the socket.

Client Timeout

Number

SO_TIMEOUT value on sockets. This indicates the amount of time, in milliseconds, that the socket waits in a blocking operation before failing. A value of 0 means waiting indefinitely.

0

Reuse Address

Boolean

If true, SO_REUSEADDRESS is set on the socket before binding. This helps reduce address already in use errors when a socket is reused.

true

Send TCP With No Delay

Boolean

If true, transmitted data is sent immediately instead of collected together for greater efficiency. This value defaults to true even though the socket default is false because reducing the amount of network traffic over latency is not usually a concern today.

true

Linger

Number

SO_LINGER value, which indicates how long, in milliseconds, the socket takes to close so that any remaining data is transmitted correctly.

Keep Alive

Boolean

If true, enables SO_KEEPALIVE behavior on open sockets. This automatically checks socket connections that are open, but unused, for long periods and closes them if the connection becomes unavailable. This is set on the socket and is used by a server socket to control whether connections to the server are kept alive before they are recycled.

false

Fail On Unresolved Host

Boolean

If true, the socket fails during its creation if the host set on the endpoint can’t be resolved. Set this value to false to allow unresolved hosts (useful when connecting through a proxy).

true

Connection Timeout

Number

Number of milliseconds to wait until an outbound connection to a remote server is successfully created. Defaults to 30 seconds.

30000

Sources

MLLP Listener

<mllp:mllp-listener>

Listens for the socket connections of the given protocol in the configured host and port. When a new connection is received, this source schedules a socket worker to handle the communication for that connection.

Name Type Description Default Value Required

Configuration

String

Name of the configuration to use.

x

Output Mime Type

String

MIME type of the payload that this operation outputs.

Output Encoding

String

Encoding for the payload that this operation outputs.

Primary Node Only

Boolean

Whether this source executes only on the primary node when running in a cluster.

Streaming Strategy

Configures how Mule processes streams. Repeatable streams are the default behavior.

Redelivery Policy

Configures the redelivery policy for executing requests that generate errors. You can add a redelivery policy to any source in a flow.

Reconnection Strategy

Reconnection strategy to use.

Output

Type

Binary

Attributes Type

Associated Configurations

Operations

Send

<mllp:send>

Sends the data using the client associated with the MLLP Requester connection.

Name Type Description Default Value Required

Configuration

String

Name of the configuration to use.

x

Content

Binary

Data to serialize and send through the socket.

#[payload]

Reconnection Strategy

Reconnection strategy to use.

Associated Configurations

Throws

  • MLLP:CONNECTIVITY

  • MLLP:LISTENING_ERROR

  • MLLP:RETRY_EXHAUSTED

  • MLLP:SENDING_ERROR

  • MLLP:UNKNOWN

Object Types

CRL File

Specifies the location of the certification revocation list (CRL) file.

Field Type Description Default Value Required

Path

String

Path to the CRL file.

Custom OCSP Responder

Configures a custom OCSP responder for certification revocation checks.

Field Type Description Default Value Required

Url

String

URL of the OCSP responder.

Cert Alias

String

Alias of the signing certificate for the OCSP response. If specified, the alias must be in the truststore.

Expiration Policy

Configures an expiration policy strategy.

Field Type Description Default Value Required

Max Idle Time

Number

Configures the maximum amount of time that a dynamic configuration instance can remain idle before Mule considers it eligible for expiration.

Time Unit

Enumeration, one of:

  • NANOSECONDS

  • MICROSECONDS

  • MILLISECONDS

  • SECONDS

  • MINUTES

  • HOURS

  • DAYS

Time unit for the Max Idle Time field.

Immutable Socket Attributes

Field Type Description Default Value Required

Host Address

String

Address of the host where the requests are sent.

Host Name

String

Name of the host where the requests are sent.

Local Certificates

Array of Any

SSL local certificates. If the socket is not an SSL socket, this value is null.

Peer Certificates

Array of Any

SSL peer certificates. If the socket is not an SSL socket, this value is null.

Port

Number

Port to which the requests are sent.

Keystore

Configures the keystore for the TLS protocol. The keystore you generate contains a private key and a public certificate.

Field Type Description Default Value Required

Path

String

Path to the keystore. Mule resolves the path relative to the current classpath and file system.

Type

String

Type of keystore.

Alias

String

Alias of the key to use when the keystore contains multiple private keys. By default, Mule uses the first key in the file.

Key Password

String

Password used to protect the private key.

Password

String

Password used to protect the keystore.

Algorithm

String

Algorithm used by the keystore.

Pooling Profile

Configures the pooling profile characteristics.

Field Type Description Default Value Required

Max Active

Number

Maximum number of Mule components that are active in a session at one time. When set to a negative value, there is no limit to the number of Mule components that are active at one time. When this value is exceeded, the pool is considered exhausted.

Max Idle

Number

Maximum number of Mule components that can sit idle in the pool at any time. When set to a negative value, there is no limit.

Max Wait

Number

Number of milliseconds to wait for a pooled component to become available when the pool is exhausted and the Exhausted Action is set to WHEN_EXHAUSTED_WAIT.

Min Eviction Millis

Number

Minimum amount of time that an object can sit idle in the pool before it’s eligible for eviction. When set to a negative value, no objects are evicted from the pool due to idle time alone.

Eviction Check Interval Millis

Number

Number of milliseconds between runs of the object evictor. When set to a negative value, no object evictor is executed.

Exhausted Action

Enumeration, one of:

  • WHEN_EXHAUSTED_GROW

  • WHEN_EXHAUSTED_WAIT

  • WHEN_EXHAUSTED_FAIL

Behavior of the Mule component pool when the pool is exhausted. Possible values are:

  • WHEN_EXHAUSTED_FAIL

    Throws a NoSuchElementException.

  • WHEN_EXHAUSTED_WAIT

    Blocks by invoking Object.wait(long) until a new or idle object is available.

  • WHEN_EXHAUSTED_GROW

    Creates a new Mule instance and returns it, which makes the Max Active value ineffective.

    If Max Wait is positive, Mule blocks for at most that many milliseconds, after which it throws a NoSuchElementException. If Max Wait is a negative, Mule blocks indefinitely.

Initialization Policy

Enumeration, one of:

  • INITIALISE_NONE

  • INITIALISE_ONE

  • INITIALISE_ALL

Determines how components in a pool should be initialized. Possible values are:

  • INITIALISE_NONE

    Doesn’t load any components into the pool on startup.

  • INITIALISE_ONE

    Loads one initial component into the pool on startup.

  • INITIALISE_ALL

    Loads all components into the pool on startup.

Disabled

Boolean

If true, pooling is disabled.

Reconnect

Configures a standard reconnection strategy, which specifies how often to reconnect and how many reconnection attempts the connector source or operation can make.

Field Type Description Default Value Required

Frequency

Number

How often to reconnect, in milliseconds.

Blocking

Boolean

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

Count

Number

How many reconnection attempts to make.

Reconnect Forever

Configures a forever reconnection strategy by which the connector source or operation attempts to reconnect at a specified frequency for as long as the Mule app runs.

Field Type Description Default Value Required

Frequency

Number

How often to reconnect, in milliseconds.

Blocking

Boolean

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

Reconnection

Configures a reconnection strategy for an operation.

Field Type Description Default Value Required

Fails Deployment

Boolean

What to do if, when an app is deployed, a connectivity test does not pass after exhausting the associated reconnection strategy:

  • true

    Allow the deployment to fail.

  • false

    Ignore the results of the connectivity test.

Reconnection Strategy

Reconnection strategy to use.

Redelivery Policy

Configures the redelivery policy for executing requests that generate errors. You can add a redelivery policy to any source in a flow.

Field Type Description Default Value Required

Max Redelivery Count

Number

Maximum number of times that a redelivered request can be processed unsuccessfully before returning a REDELIVERY_EXHAUSTED error.

Use Secure Hash

Boolean

If true, Mule uses a secure hash algorithm to identify a redelivered message.

Message Digest Algorithm

String

Secure hashing algorithm to use if the Use Secure Hash field is true. If the payload of the message is a Java object, Mule ignores this value and returns the value that the payload’s hashCode() returned.

Id Expression

String

One or more expressions that determine when a message was redelivered. This field can be set only if the Use Secure Hash field is false.

Object Store

ObjectStore

Configures the object store that stores the redelivery counter for each message.

Repeatable File Store Stream

Configures the repeatable file-store streaming strategy by which Mule runtime keeps a portion of the stream content in memory. If the stream content is larger than the configured buffer size, Mule backs up the buffer’s content to disk and then clears the memory.

Field Type Description Default Value Required

Max In Memory Size

Number

Maximum amount of memory that the stream can use for data. If the amount of memory exceeds this value, Mule buffers the content to disk. To optimize performance:

  • Configure a larger buffer size to avoid the number of times Mule needs to write the buffer on disk. This increases performance, but it also limits the number of concurrent requests your application can process, because it requires additional memory.

  • Configure a smaller buffer size to decrease memory load at the expense of response time.

Buffer Unit

Enumeration, one of:

  • BYTE

  • KB

  • MB

  • GB

Unit for the Max In Memory Size field.

Repeatable In Memory Stream

Configures the in-memory streaming strategy by which the request fails if the data exceeds the maximum buffer size. Always run performance tests to find the optimal buffer size for your specific use case.

Field Type Description Default Value Required

Initial Buffer Size

Number

Initial amount of memory to allocate to the data stream. If the streamed data exceeds this value, the buffer expands by Buffer Size Increment, with an upper limit of the Max In Memory Size value.

Buffer Size Increment

Number

Amount by which the buffer size expands if it exceeds its initial size. Setting a value of 0 or lower specifies that the buffer can’t expand.

Max Buffer Size

Number

Maximum size of the buffer. If the buffer size exceeds this value, Mule raises a STREAM_MAXIMUM_SIZE_EXCEEDED error. A value of less than or equal to 0 means no limit.

Buffer Unit

Enumeration, one of:

  • BYTE

  • KB

  • MB

  • GB

Unit for the Initial Buffer Size, Buffer Size Increment, and Max Buffer Size fields.

Socket Connection Settings

Field Type Description Default Value Required

Port

Number

Connection’s port number.

x

Host

String

Connection’s host name.

x

Standard Revocation Check

Configures standard revocation checks for TLS certificates.

Field Type Description Default Value Required

Only End Entities

Boolean

Which elements to verify in the certificate chain:

  • true

    Verify only the last element in the certificate chain.

  • false

    Verify all elements in the certificate chain.

Prefer Crls

Boolean

How to check certificate validity:

  • true

    Check the Certification Revocation List (CRL) for certificate validity.

  • false

    Use the Online Certificate Status Protocol (OCSP) to check certificate validity.

No Fallback

Boolean

Whether to use the secondary method to check certificate validity:

  • true

    Use the method that wasn’t specified in the Prefer Crls field (the secondary method) to check certificate validity.

  • false

    Do not use the secondary method to check certificate validity.

Soft Fail

Boolean

What to do if the revocation server can’t be reached or is busy:

  • true

    Avoid verification failure.

  • false

    Allow the verification to fail.

TLS

Configures TLS to provide secure communications for the Mule app.

Field Type Description Default Value Required

Enabled Protocols

String

Comma-separated list of protocols enabled for this context.

Enabled Cipher Suites

String

Comma-separated list of cipher suites enabled for this context.

Trust Store

Configures the TLS truststore.

Key Store

Configures the TLS keystore.

Revocation Check

Configures a revocation checking mechanism.

Truststore

Configures the truststore for TLS.

Field Type Description Default Value Required

Path

String

Path to the truststore. Mule resolves the path relative to the current classpath and file system.

Password

String

Password used to protect the truststore.

Type

String

Type of truststore.

Algorithm

String

Encryption algorithm that the truststore uses.

Insecure

Boolean

If true, Mule stops performing certificate validations. Setting this to true can make connections vulnerable to attacks.

View on GitHub