1

这必须是一个共同的特征,但我似乎无法找到它。我有这样的流程;

   <inbound-endpoint.../>
   <collection-splitter.../>
   <custom component.../>
   ...

如果自定义组件收到我想丢弃的消息,没有进一步的操作,它是如何完成的?我不想中止处理集合的其余元素,只是一个项目。

现在,我让组件返回 null 并在其后面加上有效负载类型过滤器,但这似乎很笨拙。

4

2 回答 2

2

在这种情况下,将您的组件转换为拦截器:组件将决定是否转发当前的 Mule 事件以进行下游处理。

为此,您需要实施org.mule.api.interceptor.Interceptor.

阅读以下内容以获取更多信息: http: //www.mulesoft.org/documentation/display/current/Using+Interceptors#UsingInterceptors-WritingInterceptors

于 2013-03-04T18:06:40.560 回答
0

我们应该在 mule 3 流中使用消息过滤器。mule 3 流不支持 muleEventContext 的 setStopFurtherProcessing。

<message-filter doc:name="Message">
   <not-filter>
      <payload-type-filter expectedType="org.mule.transport.NullPayload"></payload-type-filter>
  </not-filter>
</message-filter>
于 2013-06-11T10:14:25.377 回答