在camel context xml中配置Registry

时间:2014-02-08 16:45:28

标签: spring apache-camel

我是Apache Camel的新手,我的应用程序需要在camel上下文中注册编解码器(HL7)。我知道有一个解决方案,您可以使用自己的注册表实例创建一个默认的camel上下文,但有什么方法可以在驼峰上下文中配置我自己的注册表?

我正在使用JavaDSL开发我的应用程序,上下文中的配置就是这样。

<bean id="hl7codec" class="org.apache.camel.component.hl7.HL7MLLPCodec">
    <property name="charset" value="iso-8859-1"/>
</bean>


<camelcontext id = "context">
     <ref bean = "MyRouteBuilder"/>
<camelcontext/>

我通过覆盖configure方法在MyRouteBuilder类中构建路由。我的路线是这样的。

from("mina2:tcp://localhost:8888?sync=true&codec=#hl7codec").to("jms:queue")

然而,编解码器似乎不起作用。当我删除编解码器时,我的应用程序运行正常并接受HL7消息,但使用编解码器,我无法接收任何消息。我觉得这是因为定义了编解码器bean,但是上下文无法获取它。我不想使用所需的注册表设置创建defaultcamelcontext。相反,我正在寻找一种在camelcontext配置xml中注册编解码器的方法,到目前为止,我已经失败了。

我的配置错过了什么?任何帮助将不胜感激。

1 个答案:

答案 0 :(得分:0)

您通常不需要在Java DSL中使用&amp;,因此将&amp;codec=替换为&codec=

相关问题