我正在集群环境中处理文件。群集工作正常。它仅在一台服务器上处理。
但是在第二台服务器上它标识为重复但仍然执行格式路由delete=true
错误:
org.apache.camel.component.file.GenericFileOperationFailedException:无法删除文件:
我将标题 CamelRouteStop 设置为true,但交换机仍然尝试删除文件,而不是停止执行路径。
如果重复,我需要的是结束路线。
<camelContext xmlns="http://camel.apache.org/schema/spring">
<route>
<from uri="smb:url?delete=true"/>
<idempotentConsumer messageIdRepositoryRef="myRepo">
<header>messageId</header>
<setHeader headerName="fileExist">
<simple>true</simple>
</setHeader>
</idempotentConsumer>
<when>
<simple>${header.fileExist} == null</simple>
<log message="File ${header.CamelFileName} processing/processed by other Nodes - DUPLICATE" loggingLevel="INFO" />
<setHeader headerName="CamelRouteStop">
<simple <simple resultType="java.lang.Boolean">true</simple>>true</simple>
</setHeader>
</when>
</route>
</camelContext>
答案 0 :(得分:0)
对于CamelRouteStop,您需要使用setProperty
,而不是setHeader
。