36.6. Spring Boot Auto-Configuration
当在 Spring Boot 中使用 mllp 时,请确保使用以下 Maven 依赖项来支持自动配置:
<dependency> <groupId>org.apache.camel.springboot</groupId> <artifactId>camel-mllp-starter</artifactId> </dependency>
<dependency>
<groupId>org.apache.camel.springboot</groupId>
<artifactId>camel-mllp-starter</artifactId>
</dependency>
组件支持 31 个选项,如下所列。
名称 | 描述 | 默认 | 类型 |
---|---|---|---|
camel.component.mllp.accept-timeout | 在等待 TCP 连接 TCP 服务器时,超时(以毫秒为单位)。 | 60000 | 整数 |
camel.component.mllp.auto-ack | 启用/禁用 MLLP Acknowledgement MLLP Consumers 的自动生成。 | true | 布尔值 |
camel.component.mllp.autowired-enabled | 是否启用自动关闭。这用于自动关闭选项(选项必须标记为 autowired),方法是在 registry 中查找查找是否有单个匹配类型实例,然后在组件上配置。这可以用于自动配置 JDBC 数据源、JMS 连接工厂、AWS 客户端等。 | true | 布尔值 |
camel.component.mllp.backlog | 传入连接的最大队列长度(要连接的请求)设置为 backlog 参数。如果队列满时显示连接到达,则连接将被拒绝。 | 5 | 整数 |
camel.component.mllp.bind-retry-interval | 仅限 TCP 服务器 - 绑定尝试之间要等待的毫秒数。 | 5000 | 整数 |
camel.component.mllp.bind-timeout | 仅限 TCP 服务器 - 重试到服务器端口的毫秒数。 | 30000 | 整数 |
camel.component.mllp.bridge-error-handler | 允许将消费者桥接到 Camel 路由错误处理程序,这意味着消费者试图接收传入的消息或类似信息时发生任何异常,现在将作为消息处理并由路由 Error 处理程序处理。如果禁用,使用者将使用 org.apache.camel.spi.ExceptionHandler 来通过记录在 WARN 或 ERROR 级别时处理异常,并忽略。 | true | 布尔值 |
camel.component.mllp.charset-name | 设置要使用的默认 charset。 | 字符串 | |
camel.component.mllp.configuration | 设置创建 MLLP 端点时要使用的默认配置。选项是 org.apache.camel.component.mllp.MllpConfiguration 类型。 | MllpConfiguration | |
camel.component.mllp.connect-timeout | 仅为 TCP 连接 TCP 客户端建立的超时(以毫秒为单位)。 | 30000 | 整数 |
camel.component.mllp.default-charset | 将默认字符设置为用于字节为/从 String 转换。 | ISO-8859-1 | 字符串 |
camel.component.mllp.enabled | 是否启用 mllp 组件的自动配置。这默认是启用的。 | 布尔值 | |
camel.component.mllp.exchange-pattern | 在消费者创建交换时设置交换模式。 | ExchangePattern | |
camel.component.mllp.hl7-headers | 只在 HL7 Message MLLP Consumers 中启用/禁用自动生成消息标头。 | true | 布尔值 |
camel.component.mllp.idle-timeout | 在重置客户端 TCP 连接之前允许的大约闲置时间。小于或等于零的 null 值或值将禁用空闲超时。 | 整数 | |
camel.component.mllp.idle-timeout-strategy | 决定在空闲超时时要执行的操作。可能的值有 : RESET:将 SO_LINGER 设置为 0,并重置套接字 CLOSE: 关闭套接字正常默认值为 RESET。 | MllpIdleTimeoutStrategy | |
camel.component.mllp.keep-alive | 启用/禁用 SO_KEEPALIVE 套接字选项。 | true | 布尔值 |
camel.component.mllp.lazy-start-producer | 制作者是否应启动 lazy (在第一个消息中)。通过启动 lazy,您可以使用此选项来允许 CamelContext 和路由在制作者启动期间启动,并导致路由启动失败。通过将这个启动延迟到延迟,那么可以通过 Camel 的路由错误处理程序路由消息期间,可以处理启动失败。请注意,在处理第一个消息时,创建并启动制作者可能需要稍等时间,并延长处理的总处理时间。 | false | 布尔值 |
camel.component.mllp.lenient-bind | TCP Server Only - 允许端点在绑定 TCP ServerSocket 之前启动。在某些环境中,可能需要允许端点在绑定 TCP ServerSocket 之前启动。 | false | 布尔值 |
camel.component.mllp.log-phi | 是否记录 PHI。 | true | 布尔值 |
camel.component.mllp.log-phi-max-bytes | 设置将登录到日志条目的最大 PHI 字节数。 | 5120 | 整数 |
camel.component.mllp.max-concurrent-consumers | 允许的最大并发 MLLP Consumer 连接数。如果收到一个新的连接,并且已建立最大值,则新连接将立即重置。 | 5 | 整数 |
camel.component.mllp.read-timeout | 收到 MLLP 帧后使用的 SO_TIMEOUT 值(以毫秒为单位)。 | 5000 | 整数 |
camel.component.mllp.receive-buffer-size | 将 SO_RCVBUF 选项设置为指定的值(以字节为单位)。 | 8192 | 整数 |
camel.component.mllp.receive-timeout | 等待 MLLP 帧开始时使用的 SO_TIMEOUT 值(以毫秒为单位)。 | 15000 | 整数 |
camel.component.mllp.require-end-of-data | 启用/禁用对 MLLP 标准的严格合规性。MLLP 标准指定 START_OF_BLOCKhl7 有效负载END_OF_BLOCKEND_OF_DATA,但有些系统不会发送最终的 END_OF_DATA 字节。此设置控制是否需要最终的 END_OF_DATA 字节。 | true | 布尔值 |
camel.component.mllp.reuse-address | 启用/禁用 SO_REUSEADDR 套接字选项。 | false | 布尔值 |
camel.component.mllp.send-buffer-size | 将 SO_SNDBUF 选项设置为指定的值(以字节为单位)。 | 8192 | 整数 |
camel.component.mllp.string-payload | 启用/禁用将有效负载转换为字符串。如果启用,则从外部系统接收的 HL7 Payloads 将验证转换为字符串。如果设置了 charsetName 属性,则该字符集将用于转换。如果没有设置 charsetName 属性,则将使用 MSH-18 的值来确定第三字符集。如果没有设置 MSH-18,则会使用默认的 ISO-8859-1 字符集。 | true | 布尔值 |
camel.component.mllp.tcp-no-delay | 启用/禁用 TCP_NODELAY 套接字选项。 | true | 布尔值 |
camel.component.mllp.validate-payload | 启用/禁用 HL7 Payloads 验证如果启用,则从外部系统接收的 HL7 Payloads 会被验证(请参阅 Hl7Util.generateInvalidPayloadExceptionMessage)。如果检测到无效的有效负载,则会抛出 MllpInvalidMessageException (使用者)或 MllpInvalidAcknowledgementException。 | false | 布尔值 |