我是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中注册编解码器的方法,到目前为止,我已经失败了。
我的配置错过了什么?任何帮助将不胜感激。
答案 0 :(得分:0)
您通常不需要在Java DSL中使用&
,因此将&codec=
替换为&codec=