149.5. Spring Boot Auto-Configuration


组件支持 5 个选项,如下所列。

Expand
Name描述默认值类型

camel.dataformat.hl7.content-type-header

如果数据格式能够这样做,则数据格式是否应该使用 data 格式的类型设置 Content-Type 标头。例如,用于数据格式到 XML 的 application/xml 或用于数据格式的 application/json 发送到 JSon 等。

false

布尔值

camel.dataformat.hl7.enabled

启用 hl7 dataformat

true

布尔值

camel.dataformat.hl7.validate

默认情况下,是否验证 HL7 消息 Is true。

true

布尔值

camel.language.terser.enabled

启用 terser 语言

true

布尔值

camel.language.terser.trim

是否修剪值以移除前导和结尾的空格和换行符

true

布尔值

ND

  • marshal = 从消息到字节流(可以使用 HL7 MLLP codec 进行响应)
  • unmarshal = 从字节流到消息(可以在从 HL7 MLLP 接收流数据时使用

要使用数据格式,只需实例化实例并在路由构建器中调用 marshal 或 unmarshal 操作:

  DataFormat hl7 = new HL7DataFormat();

  from("direct:hl7in")
    .marshal(hl7)
    .to("jms:queue:hl7out");

在上面的示例中,HL7 从 HAPI Message 对象放入一个字节流并放在 JMS 队列中。
下一个示例是相反的:

  DataFormat hl7 = new HL7DataFormat();

  from("jms:queue:hl7out")
    .unmarshal(hl7)
    .to("patientLookupService");

在这里,我们将字节流传输到 HAPI 消息对象,该对象传递到我们的病人查找服务。

149.5.1. 可序列化消息

从 HAPI 2.0 (由 Camel 2.11使用)开始,HL7v2 模型类是完全串行的。因此,您可以将 HL7v2 消息直接放入 JMS 队列(即不调用 marshal () ),并再次从队列读取它们(例如,不调用 unmarshal () )。

149.5.2. 片段分隔符

Camel 2.11 开始,unmarshal 不会再通过将 \n 转换为 \r 来自动修复网段分隔符。如果您
需要这个转换,org.apache.camel.component.hl7.HL7#convertLFToCR这一目的 提供了方便的表达式。

149.5.3. charset

Camel 2.14.1 开始,marshal 和 unmarshal 评估在字段 MSH-18 中提供的 charset。如果此字段为空,则默认假定对应的 Camel charset 属性/header 中包含的 charset。从 HL7DataFormat 类继承时,您甚至可以通过覆盖 guessCharsetName 方法来更改此默认行为。

Camel 中有一个简写语法,用于常用数据格式。然后,您不需要创建 HL7DataFormat 对象的实例:

  from("direct:hl7in")
    .marshal().hl7()
    .to("jms:queue:hl7out");

  from("jms:queue:hl7out")
    .unmarshal().hl7()
    .to("patientLookupService");
Red Hat logoGithubredditYoutubeTwitter

学习

尝试、购买和销售

社区

關於紅帽

我们提供强化的解决方案,使企业能够更轻松地跨平台和环境(从核心数据中心到网络边缘)工作。

让开源更具包容性

红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。欲了解更多详情,请参阅红帽博客.

关于红帽文档

Legal Notice

Theme

© 2026 Red Hat
返回顶部