MLLP
Communicate with external systems using the MLLP protocol.
What’s inside
-
MLLP component, URI syntax:
mllp:hostname:port
Please refer to the above links for usage and configuration details.
Maven coordinates
<dependency>
<groupId>org.apache.camel.springboot</groupId>
<artifactId>camel-mllp-starter</artifactId>
</dependency> Spring Boot Auto-Configuration
The starter supports 35 options, which are listed below.
| Name | Description | Default | Type |
|---|---|---|---|
camel.component.mllp.accept-timeout | Timeout (in milliseconds) while waiting for a TCP connection TCP Server Only | 60000 | Integer |
camel.component.mllp.auto-ack | Enable/Disable the automatic generation of a MLLP Acknowledgement MLLP Consumers only | true | Boolean |
camel.component.mllp.autowired-enabled | Whether autowiring is enabled. This is used for automatic autowiring options (the option must be marked as autowired) by looking up in the registry to find if there is a single instance of matching type, which then gets configured on the component. This can be used for automatic configuring JDBC data sources, JMS connection factories, AWS Clients, etc. | true | Boolean |
camel.component.mllp.backlog | The maximum queue length for incoming connection indications (a request to connect) is set to the backlog parameter. If a connection indication arrives when the queue is full, the connection is refused. | 5 | Integer |
camel.component.mllp.bind-retry-interval | TCP Server Only - The number of milliseconds to wait between bind attempts | 5000 | Integer |
camel.component.mllp.bind-timeout | TCP Server Only - The number of milliseconds to retry binding to a server port | 30000 | Integer |
camel.component.mllp.bridge-error-handler | Allows for bridging the consumer to the Camel routing Error Handler, which mean any exceptions occurred while the consumer is trying to receive incoming messages, or the likes, will now be processed as a message and handled by the routing Error Handler. If disabled, the consumer will use the org.apache.camel.spi.ExceptionHandler to deal with exceptions by logging them at WARN or ERROR level and ignored. | true | Boolean |
camel.component.mllp.charset-name | Sets the default charset to use | String | |
camel.component.mllp.configuration | Sets the default configuration to use when creating MLLP endpoints. The option is a org.apache.camel.component.mllp.MllpConfiguration type. | MllpConfiguration | |
camel.component.mllp.connect-timeout | Timeout (in milliseconds) for establishing for a TCP connection TCP Client only | 30000 | Integer |
camel.component.mllp.default-charset | Set the default character set to use for byte to/from String conversions. | ISO-8859-1 | String |
camel.component.mllp.enabled | Whether to enable auto configuration of the mllp component. This is enabled by default. | Boolean | |
camel.component.mllp.exchange-pattern | Sets the exchange pattern when the consumer creates an exchange. | inout | ExchangePattern |
camel.component.mllp.hl7-headers | Enable/Disable the automatic generation of message headers from the HL7 Message MLLP Consumers only | true | Boolean |
camel.component.mllp.idle-timeout | The approximate idle time allowed before the Client TCP Connection will be reset. A null value or a value less than or equal to zero will disable the idle timeout. | Integer | |
camel.component.mllp.idle-timeout-strategy | decide what action to take when idle timeout occurs. Possible values are : RESET: set SO_LINGER to 0 and reset the socket CLOSE: close the socket gracefully default is RESET. | reset | MllpIdleTimeoutStrategy |
camel.component.mllp.keep-alive | Enable/disable the SO_KEEPALIVE socket option. | true | Boolean |
camel.component.mllp.lazy-start-producer | Whether the producer should be started lazy (on the first message). By starting lazy you can use this to allow CamelContext and routes to startup in situations where a producer may otherwise fail during starting and cause the route to fail being started. By deferring this startup to be lazy then the startup failure can be handled during routing messages via Camel’s routing error handlers. Beware that when the first message is processed then creating and starting the producer may take a little time and prolong the total processing time of the processing. | false | Boolean |
camel.component.mllp.lenient-bind | TCP Server Only - Allow the endpoint to start before the TCP ServerSocket is bound. In some environments, it may be desirable to allow the endpoint to start before the TCP ServerSocket is bound. | false | Boolean |
camel.component.mllp.log-phi | Whether to log PHI | true | Boolean |
camel.component.mllp.log-phi-max-bytes | Set the maximum number of bytes of PHI that will be logged in a log entry. | 5120 | Integer |
camel.component.mllp.max-buffer-size | Maximum buffer size used when receiving or sending data over the wire. | 1073741824 | Integer |
camel.component.mllp.max-concurrent-consumers | The maximum number of concurrent MLLP Consumer connections that will be allowed. If a new connection is received and the maximum is number are already established, the new connection will be reset immediately. | 5 | Integer |
camel.component.mllp.min-buffer-size | Minimum buffer size used when receiving or sending data over the wire. | 2048 | Integer |
camel.component.mllp.read-timeout | The SO_TIMEOUT value (in milliseconds) used after the start of an MLLP frame has been received | 5000 | Integer |
camel.component.mllp.receive-buffer-size | Sets the SO_RCVBUF option to the specified value (in bytes) | 8192 | Integer |
camel.component.mllp.receive-timeout | The SO_TIMEOUT value (in milliseconds) used when waiting for the start of an MLLP frame | 15000 | Integer |
camel.component.mllp.require-end-of-data | Enable/Disable strict compliance to the MLLP standard. The MLLP standard specifies START_OF_BLOCKhl7 payloadEND_OF_BLOCKEND_OF_DATA, however, some systems do not send the final END_OF_DATA byte. This setting controls whether or not the final END_OF_DATA byte is required or optional. | true | Boolean |
camel.component.mllp.reuse-address | Enable/disable the SO_REUSEADDR socket option. | false | Boolean |
camel.component.mllp.send-buffer-size | Sets the SO_SNDBUF option to the specified value (in bytes) | 8192 | Integer |
camel.component.mllp.ssl-context-parameters | Sets the SSLContextParameters for securing TCP connections. If set, the MLLP component will use SSL/TLS for securing both producer and consumer TCP connections. This allows the configuration of trust stores, key stores, protocols, and other SSL/TLS settings. If not set, the MLLP component will use plain TCP communication. The option is a org.apache.camel.support.jsse.SSLContextParameters type. | SSLContextParameters | |
camel.component.mllp.string-payload | Enable/Disable converting the payload to a String. If enabled, HL7 Payloads received from external systems will be validated converted to a String. If the charsetName property is set, that character set will be used for the conversion. If the charsetName property is not set, the value of MSH-18 will be used to determine th appropriate character set. If MSH-18 is not set, then the default ISO-8859-1 character set will be use. | true | Boolean |
camel.component.mllp.tcp-no-delay | Enable/disable the TCP_NODELAY socket option. | true | Boolean |
camel.component.mllp.use-global-ssl-context-parameters | Enable usage of global SSL context parameters. | false | Boolean |
camel.component.mllp.validate-payload | Enable/Disable the validation of HL7 Payloads If enabled, HL7 Payloads received from external systems will be validated (see Hl7Util.generateInvalidPayloadExceptionMessage for details on the validation). If and invalid payload is detected, a MllpInvalidMessageException (for consumers) or a MllpInvalidAcknowledgementException will be thrown. | false | Boolean |