在消息筛选器下包装幂等元消息筛选器导致Mule中出现异常
我陷入了一个非常小的问题 我正在尝试将一个幂等元消息筛选器包装在消息筛选器 以下是我的流程:-在消息筛选器下包装幂等元消息筛选器导致Mule中出现异常,mule,mule-studio,Mule,Mule Studio,我陷入了一个非常小的问题 我正在尝试将一个幂等元消息筛选器包装在消息筛选器 以下是我的流程:- <idempotent-message-filter name="Validation" idExpression="#[message:payload]" doc:name="Idempotent Message"> <simple-text-file-store directory="./idempotent" /> </
<idempotent-message-filter name="Validation" idExpression="#[message:payload]" doc:name="Idempotent Message">
<simple-text-file-store directory="./idempotent" />
</idempotent-message-filter>
<flow name="tttFlow1" doc:name="tttFlow1">
<http:inbound-endpoint exchange-pattern="request-response" host="localhost" port="8081" path="path" doc:name="HTTP"/>
<message-filter onUnaccepted="ValidationFailFlow" doc:name="filter to validate xml" throwOnUnaccepted="true" >
<filter ref="Validation"/>
</message-filter>
<logger message="Passed" level="INFO" doc:name="Logger"/>
<set-payload value="Passed" doc:name="Set Payload"/>
<catch-exception-strategy doc:name="Catch Exception Strategy">
<set-payload value="EXCEPTION!" doc:name="Set Payload" />
</catch-exception-strategy>
</flow>
因此,我的问题很简单:-
- 这是正确的方法吗李>
- 我可以将幂等滤波器包装在下面吗 消息过滤器? 请建议
幂等消息过滤器实际上是一个拦截消息处理器,而不是一个过滤器(实现org.mule.api.routing.filter.filter.class),因此它不能在消息过滤器中使用
但是,看起来您正在将其用于throwonUnecepted
功能。幂等元消息筛选器本身具有此属性,因此不需要:
<idempotent-message-filter name="Validation" idExpression="#[message:payload]" throwOnUnaccepted="true" />
多亏了Ryan,所以我的工作解决方案是:-
<idempotent-message-filter idExpression="#[message:payload]" doc:name="Idempotent Message" throwOnUnaccepted="true" onUnaccepted="ValidationFailFlow">
<simple-text-file-store directory="./idempotent" /> <!-- In memory files -->
</idempotent-message-filter>
这意味着幂等消息筛选器实际上不能被视为筛选器。。它基本上是一个需要考虑的消息处理器
<idempotent-message-filter idExpression="#[message:payload]" doc:name="Idempotent Message" throwOnUnaccepted="true" onUnaccepted="ValidationFailFlow">
<simple-text-file-store directory="./idempotent" /> <!-- In memory files -->
</idempotent-message-filter>