我正在尝试从 Camel 2.0 升级到 2.6
我的 applicationContext-camel.xml 文件中有这个...
<camel:route >
<camel:from uri="transactionSaleBuffer" />
<camel:policy ref="routeTransactionPolicy"/>
<camel:transacted ref="transactionManagerETL" />
<camel:to uri="detailFactProcessor" />
</camel:route>
通过在中间添加两行(策略和交易),我得到了异常......
Caused by: org.apache.camel.FailedToCreateRouteException: Failed to create route route2 at: >>> From[transactionSaleBuffer] <<< in route: Route[[From[transactionSaleBuffer]] -> [Tr ansacted[ref:trans... because of Route route2 has no output processors. You need to add outputs to the route such as to("log:foo").
我可以看到这是因为 Camel 类 RouteDefinition.java 调用了 ProcessorDefinitionHelper.hasOutputs(outputs, true)。
这会传入一个由一个对象组成的数组 ([Transacted[ref:transactionManagerETL]])
这个对象有一个两个子对象
[Transacted[ref:transactionManagerETL]]
CHILD-[Policy[ref:routeTransactionPolicy],
CHILD-To[detailFactProcessor]
Policy 子项没有输出,因此抛出异常。
但是我不知道如何添加子项,我上面的 XML 与架构匹配。
也许我还缺少其他东西?
我的设置与示例匹配... Apache Camel: Book in One Page (请参阅部分:Camel 1.x - JMS 示例)
谁能帮帮我。 谢谢! 杰夫·波特
最佳答案
尝试如下
<camel:route>
<camel:from uri="transactionSaleBuffer" />
<camel:transacted ref="transactionManagerETL" />
<camel:policy ref="routeTransactionPolicy">
<camel:to uri="detailFactProcessor" />
</camel:policy>
</camel:route>
关于java - 如何配置2.6 spring : Failed to create route route2 at:,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5638517/