是否需要 HTTP 服务器(Jetty)来托管处理 HL7 消息的骆驼路线

Is a HTTP server(Jetty) required for hosting camel routes processing HL7 messages

我想在 camel 中创建一个 HL7 侦听器并处理我收到的 HL7 消息。为此,我打算将 SpringBoot/dropwizard 与骆驼一起使用。 dropwizard 已经在我的公司中用于创建 restful API 的原因,我想重新使用它们来创建 Camel 路由作为微服务。我的问题是,

  1. HL7 消息是使用 MLLP(Mina 或 Netty)通过 TCP 接收的。不涉及任何 HTTP。那么使用像 Jetty 这样的服务器有什么用处吗?使用 Camel standlone 更好吗?

  2. 如果我的 camel 应用程序中没有任何 HTTP requests/listeners,我去 dropwizard/Springboot 有什么用,因为这些框架主要是为了创建 Restful API 即 HTTP 流量?

广告 1)

是的,不涉及 HTTP,Camel 使用 Netty(首选)或 Mina。 请注意,camel-mllp 比 camel-hl7 更坚固,后者修复了一些更高级的 HL7 角落案例。请参阅自述文件:https://github.com/apache/camel/tree/master/components/camel-mllp

广告 2)

您可以在 spring 启动时选择退出 HTTP,只是没有它的 -starter-web 依赖项和它是一个独立的非 HTTP 应用程序。请注意,您可能需要在 application.properties 中打开 camel.springboot.main-run-controller=true 以保留 JVM 运行.

并且通过使用 Spring Boot 或 DropWizard 等,您拥有与其他应用程序类似的部署和打包,而不必自己创建一些东西。