Java 如何使用HL7侦听器配置ApacheCamel并部署到MCAT

Java 如何使用HL7侦听器配置ApacheCamel并部署到MCAT,java,tomcat,apache-camel,Java,Tomcat,Apache Camel,我一直在考虑使用Tomcat中的Camel将HL7数据从指定端口路由到持久层处理。我真的很难理解如何做到这一点。我将使用作为基本配置示例。骆驼HL7的详细信息如下所示。我真的不明白如何更改uri(或创建适当的web.xml和camel-config-xml文件),以便它侦听MLLP连接,然后路由到适当的处理类。从文档中可以看出,uri是: mina:tcp://localhost:8888?sync=true&codec=#hl7codec 到目前为止,我有这样一个spring

我一直在考虑使用Tomcat中的Camel将HL7数据从指定端口路由到持久层处理。我真的很难理解如何做到这一点。我将使用作为基本配置示例。骆驼HL7的详细信息如下所示。我真的不明白如何更改uri(或创建适当的web.xml和camel-config-xml文件),以便它侦听MLLP连接,然后路由到适当的处理类。从文档中可以看出,uri是:

mina:tcp://localhost:8888?sync=true&codec=#hl7codec
到目前为止,我有这样一个spring-servlet.xml(错误为cvc复杂类型。2.4.c:匹配的通配符是严格的,但找不到元素“camel:camelContext”的声明):


还有一个web.xml,如下所示:

<?xml version="1.0" encoding="ISO-8859-1"?>
<web-app version="2.4" xmlns="http://java.sun.com/xml/ns/j2ee"
         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd">

  <display-name>HL7 Consumer</display-name>

  <!-- location of spring xml files -->
  <context-param>
    <param-name>contextConfigLocation</param-name>
    <param-value>classpath:spring-servlet.xml</param-value>
  </context-param>

  <listener>
    <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
  </listener>

  <servlet>
    <servlet-name>CamelServlet</servlet-name>
    <servlet-class>org.apache.camel.component.servlet.CamelHttpTransportServlet</servlet-class>
    <load-on-startup>1</load-on-startup>
  </servlet>

  <servlet-mapping>
    <servlet-name>CamelServlet</servlet-name>
    <url-pattern>/camel/*</url-pattern>
  </servlet-mapping>

</web-app>

HL7消费者
上下文配置位置
类路径:spring-servlet.xml
org.springframework.web.context.ContextLoaderListener
骆驼队
org.apache.camel.component.servlet.CamelHttpTransportServlet
1.
骆驼队
/骆驼/*

我真的不明白如何配置Camel路由,然后确保传入消息传递给HL7MessageHandler。

请参阅本教程,了解如何在web应用程序中使用Apache Camel:


然后,您需要在WAR文件中包含所需的Camel组件及其依赖项,例如WEB-INF/lib中的JAR。

我已经检查了您的代码,对我来说似乎没问题,也许您的问题在其他地方

在这里,您可以找到一个关于如何使用camel创建HL7侦听器的教程

该项目是使用camel:run目标开发的,该目标用于在Maven的分叉JVM中运行camel-Spring配置。因此,如果您想在tomcat中运行它,可以添加tomcat maven插件,并使用tomcat:run目标运行它


希望有帮助

谢谢你,克劳斯,我一直都在挣扎。我已经开始做一个基本的配置,但我的学习曲线相当陡峭。我已经编辑了原始问题,但仍然需要一些指导。我想我需要先尝试确定我的基本结构是否正确?你需要一个驼峰路由,例如使用hl7端点的,然后将消息路由到可以处理数据和准备响应的地方。我建议进一步研究驼峰路由。请参阅本文:谢谢-我已经成功加载了代码,没有错误。
<?xml version="1.0" encoding="ISO-8859-1"?>
<web-app version="2.4" xmlns="http://java.sun.com/xml/ns/j2ee"
         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd">

  <display-name>HL7 Consumer</display-name>

  <!-- location of spring xml files -->
  <context-param>
    <param-name>contextConfigLocation</param-name>
    <param-value>classpath:spring-servlet.xml</param-value>
  </context-param>

  <listener>
    <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
  </listener>

  <servlet>
    <servlet-name>CamelServlet</servlet-name>
    <servlet-class>org.apache.camel.component.servlet.CamelHttpTransportServlet</servlet-class>
    <load-on-startup>1</load-on-startup>
  </servlet>

  <servlet-mapping>
    <servlet-name>CamelServlet</servlet-name>
    <url-pattern>/camel/*</url-pattern>
  </servlet-mapping>

</web-app>