Spring 在骆驼上下文xml中配置注册表

Spring 在骆驼上下文xml中配置注册表,spring,apache-camel,Spring,Apache Camel,我是Apache Camel的新手,我的应用程序需要一个编解码器(HL7)才能在Camel上下文中注册。我知道有一种解决方案,您可以使用自己的注册表实例创建一个默认的camel上下文,但是有没有办法在camel上下文中配置自己的注册表 我正在使用JavaDSL开发我的应用程序,上下文中的配置如下所示 <bean id="hl7codec" class="org.apache.camel.component.hl7.HL7MLLPCodec"> <property nam

我是Apache Camel的新手,我的应用程序需要一个编解码器(HL7)才能在Camel上下文中注册。我知道有一种解决方案,您可以使用自己的注册表实例创建一个默认的camel上下文,但是有没有办法在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/>
from("mina2:tcp://localhost:8888?sync=true&codec=#hl7codec").to("jms:queue")
然而,编解码器似乎不起作用。当我删除编解码器时,我的应用程序运行正常,并接受HL7消息,但使用编解码器,我无法接收任何消息。我觉得出现这种情况是因为编解码器bean已经定义,但是上下文无法获取它。我不想创建具有所需注册表设置的defaultcamelcontext。相反,我正在寻找一种在camelcontext配置xml中注册编解码器的方法,到目前为止,我失败了


我的配置是否遗漏了什么?任何帮助都将不胜感激。

您通常不需要使用
&在JavaDSL中,因此替换
&;编解码器=
带有
&编解码器=

bgosit是正确的。只有在XML中才应该转义&as&;以及XML中的字符。谢谢@bgosit和Claus。我纠正了它。我仍然无法在终点接收任何消息。日志显示路由已经启动,可以使用,但我仍然无法接收消息