149.5. Spring Boot Auto-Configuration


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

Expand
Name描述默认值类型

camel.dataformat.hl7.content-type-header

如果数据格式可以这样做,则数据格式是否应使用 data 格式的类型设置 Content-Type 标头。例如,用于数据格式的 application/xml 放入 XML 或用于数据格式的 application/json,如 JSon 等。

false

布尔值

camel.dataformat.hl7.enabled

启用 hl7 dataformat

true

布尔值

camel.dataformat.hl7.validate

是否默认验证 HL7 消息是否默认为 true。

true

布尔值

camel.language.terser.enabled

启用 terser 语言

true

布尔值

camel.language.terser.trim

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

true

布尔值

ND

  • marshal = 从 Message 到字节流(在使用 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 failingconvertLFToCR 为这个目的提供了一个方便的 Expression

149.5.3. charset

Camel 2.14.1 起,marshal 和 unmarshal 都评估字段 MSH-18 中提供的 charset。如果此字段为空,则默认假定对应的 Camel charset property/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 属性中存在问题的语言。欲了解更多详情,请参阅红帽博客.

關於紅帽

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

Theme

© 2026 Red Hat
返回顶部