我是Apache的新手,我的应用程序需要一个编解码器(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/>我通过重写配置方法在MyRouteBuilder类中构建路由。我的路线是这样的。
from("mina2:tcp://localhost:8888?sync=true&codec=#hl7codec").to("jms:queue")然而,编解码器似乎不起作用。当我删除编解码器时,我的应用程序运行良好,并接受HL7消息,但是使用该编解码器,我无法接收任何消息。我觉得出现这种情况是因为定义了codec,但是上下文无法获取它。我不想创建具有所需注册表设置的defaultcamelcontext。相反,我正在寻找一种在camelcontext配置xml中注册编解码器的方法,到目前为止,我已经失败了。
我的配置有遗漏什么吗?任何帮助都将不胜感激。
发布于 2014-02-09 03:53:54
您通常不需要在Java中使用&,所以将&codec=替换为&codec=
https://stackoverflow.com/questions/21648776
复制相似问题