HL7 MLLP Connector Reference | MuleSoft Documentation
# HL7 MLLP Connector Reference
## MLLP Listener Configuration
Name | Type | Description | Default Value | Required  
---|---|---|---|---  
Name for this configuration. Connectors reference the configuration with this name.  
Connection |  | Connection types that can be provided to this configuration.  
Expiration Policy |  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 | Character code that separates MLLP messages. By default, MLLP uses `001C`.  
TLS Configuration | Uses SSLServerSocket instead of plain TCPServerSocket for accepting new SSL connections.  
Connection’s port number.  
Connection’s host name.  
Reconnection |  | Configures a reconnection strategy to use when a connector operation fails to connect to an external server.  
Send Buffer Size | Size of the buffer used when sending data, in bytes. This is set on the socket.  
Receive Buffer Size | Size of the buffer used when receiving data, in bytes. This is set on the socket.  
Client Timeout | 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.  
Reuse Address | If `true`, SO_REUSEADDRESS is set on the socket before binding. This helps reduce `address already in use` errors when a socket is reused.  
Send TCP With No Delay | 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.  
SO_LINGER value, in milliseconds, which indicates how long the socket takes to close so that remaining data is transmitted correctly.  
Keep Alive | 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.  
Fail On Unresolved Host | 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).  
Connection Count | 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 | 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 | Maximum queue length for incoming connections.  
## Request Configuration
Configuration for requester sockets.
Name | Type | Description | Default Value | Required  
---|---|---|---|---  
Name for this configuration. Connectors reference the configuration with this name.  
Connection |  | Connection types that can be provided to this configuration.  
Expiration Policy |  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 |  Socket Connection Settings | Address that a socket should bind to.  
TLS Configuration | Configuration for TLS, which can be used from both the client and server sides.  
Connection’s port number.  
Connection’s host name.  
Reconnection |  | Configures a reconnection strategy to use when a connector operation fails to connect to an external server.  
Pooling Profile |  Pooling Profile | Characteristics of the connection pool.  
Send Buffer Size | Size of the buffer used when sending data, in bytes. This is set on the socket.  
Receive Buffer Size | Size of the buffer used when receiving data, in bytes. This is set on the socket.  
Client Timeout | 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.  
Reuse Address | If `true`, SO_REUSEADDRESS is set on the socket before binding. This helps reduce `address already in use` errors when a socket is reused.  
Send TCP With No Delay | 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.  
SO_LINGER value, which indicates how long, in milliseconds, the socket takes to close so that any remaining data is transmitted correctly.  
Keep Alive | 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.  
Fail On Unresolved Host | 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).  
Connection Timeout | Number of milliseconds to wait until an outbound connection to a remote server is successfully created. Defaults to 30 seconds.  
## 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 | Name of the configuration to use.  
Output Mime Type | MIME type of the payload that this operation outputs.  
Output Encoding | Encoding for the payload that this operation outputs.  
Primary Node Only | Whether this source executes only on the primary node when running in a cluster.  
Streaming Strategy | 
  * Repeatable In Memory Stream
  * Repeatable File Store Stream
  * non-repeatable-stream

| Configures how Mule processes streams. Repeatable streams are the default behavior.  
Redelivery Policy |  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 | 
  *   * Reconnect Forever

| Reconnection strategy to use.  
#### Output
Attributes Type |  Immutable Socket Attributes  
---|---  
#### Associated Configurations
  * MLLP Listener Configuration


## Operations
### Send
`<mllp:send>`
Sends the data using the client associated with the MLLP Requester connection.
Name | Type | Description | Default Value | Required  
---|---|---|---|---  
Configuration | Name of the configuration to use.  
Data to serialize and send through the socket. | `#[payload]`  
Reconnection Strategy | 
  *   * Reconnect Forever

| Reconnection strategy to use.  
#### Associated Configurations
  * Request Configuration


#### Throws
  * MLLP:CONNECTIVITY
  * MLLP:LISTENING_ERROR
  * MLLP:RETRY_EXHAUSTED
  * MLLP:SECURITY
  * MLLP:SENDING_ERROR
  * MLLP:UNKNOWN


## Object Types
  * Custom OCSP Responder
  * Expiration Policy
  * Immutable Socket Attributes
  * Pooling Profile
  *   * Reconnect Forever
  *   * Redelivery Policy
  * Repeatable File Store Stream
  * Repeatable In Memory Stream
  * Socket Connection Settings
  * Standard Revocation Check
  * 

### CRL File
Specifies the location of the certification revocation list (CRL) file.
Field | Type | Description | Default Value | Required  
---|---|---|---|---  
Path to the CRL file.  
### Custom OCSP Responder
Configures a custom OCSP responder for certification revocation checks.
Field | Type | Description | Default Value | Required  
---|---|---|---|---  
URL of the OCSP responder.  
Cert Alias | 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 | 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
### CRL File
Specifies the location of the certification revocation list (CRL) file.
Field | Type | Description | Default Value | Required  
---|---|---|---|---  
Path to the CRL file.  
### Custom OCSP Responder
Configures a custom OCSP responder for certification revocation checks.
Field | Type | Description | Default Value | Required  
---|---|---|---|---  
URL of the OCSP responder.  
Cert Alias | 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 | 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

| Time unit for the **Max Idle Time** field.  
### Immutable Socket Attributes
Field | Type | Description | Default Value | Required  
---|---|---|---|---  
Host Address | Address of the host where the requests are sent.  
Host Name | 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 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 to the keystore. Mule resolves the path relative to the current classpath and file system.  
Type of keystore.  
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 | Password used to protect the private key.  
Password | Password used to protect the keystore.  
Algorithm | Algorithm used by the keystore.  
### Pooling Profile
Configures the pooling profile characteristics.
Field | Type | Description | Default Value | Required  
---|---|---|---|---  
Max Active | 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 | 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 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 | 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 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 | 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 | How often to reconnect, in milliseconds.  
Blocking | If `false`, the reconnection strategy runs in a separate, non-blocking thread.  
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 | How often to reconnect, in milliseconds.  
Blocking | 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 |  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 | 
  *   * Reconnect Forever

| 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 | Maximum number of times that a redelivered request can be processed unsuccessfully before returning a `REDELIVERY_EXHAUSTED` error.  
Use Secure Hash | If `true`, Mule uses a secure hash algorithm to identify a redelivered message.  
Message Digest Algorithm | 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 | 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 |  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: | 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 | 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 | 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 | 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: | Unit for the **Initial Buffer Size** , **Buffer Size Increment** , and **Max Buffer Size** fields.  
### Socket Connection Settings
Field | Type | Description | Default Value | Required  
---|---|---|---|---  
Connection’s port number.  
Connection’s host name.  
### Standard Revocation Check
Configures standard revocation checks for TLS certificates.
Field | Type | Description | Default Value | Required  
---|---|---|---|---  
Only End Entities |  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 |  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 |  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 |  What to do if the revocation server can’t be reached or is busy:
  * `true` Avoid verification failure.
  * `false` Allow the verification to fail.

  
Configures TLS to provide secure communications for the Mule app.
Field | Type | Description | Default Value | Required  
---|---|---|---|---  
Enabled Protocols | Comma-separated list of protocols enabled for this context.  
Enabled Cipher Suites | Comma-separated list of cipher suites enabled for this context.  
Trust Store | Configures the TLS truststore.  
Key Store | Configures the TLS keystore.  
Revocation Check | 
  * Standard Revocation Check
  * Custom OCSP Responder

| Configures a revocation checking mechanism.  
### Truststore
Configures the truststore for TLS.
Field | Type | Description | Default Value | Required  
---|---|---|---|---  
Path to the truststore. Mule resolves the path relative to the current classpath and file system.  
Password | Password used to protect the truststore.  
Type of truststore.  
Algorithm | Encryption algorithm that the truststore uses.  
Insecure | If `true`, Mule stops performing certificate validations. Setting this to `true` can make connections vulnerable to attacks.  
## See Also
  * Introduction to Anypoint Connectors
  * MuleSoft Help Center