如果所有提要项的pubDate相同,Mule RSS提要拆分器只返回一个结果

如果所有提要项的pubDate相同,Mule RSS提要拆分器只返回一个结果,rss,mule,Rss,Mule,Mule的rss:feed拆分器组件只返回一个项目,即使feed有多个项目,但所有项目的发布日期都相同 在这种情况下,有没有办法获取所有项目?根据rss:feed拆分器 将提要的条目拆分为单个条目对象。每个条目在Mule中都是一条单独的消息 所以你所经历的是预期的行为 您可以编写一个自定义聚合器,该聚合器基于pubDate进行聚合,以便传播到下一个消息处理器的消息将是包含所有具有相同pubDate的消息的mule消息集合。您面临的问题是由于默认情况下,FeedSplitter依赖于EntryLa

Mule的rss:feed拆分器组件只返回一个项目,即使feed有多个项目,但所有项目的发布日期都相同

在这种情况下,有没有办法获取所有项目?

根据rss:feed拆分器

将提要的条目拆分为单个条目对象。每个条目在Mule中都是一条单独的消息

所以你所经历的是预期的行为


您可以编写一个自定义聚合器,该聚合器基于pubDate进行聚合,以便传播到下一个消息处理器的消息将是包含所有具有相同pubDate的消息的mule消息集合。您面临的问题是由于默认情况下,
FeedSplitter
依赖于
EntryLastUpdatedFilter
接受或拒绝提要条目。此筛选器基于更新时间,因此任何与已处理的其他条目具有相同时间的条目都将被拒绝

我还没有找到任何干净的方法来配置
元素以接受所有RSS条目,因此我必须将其实例化为一个自定义筛选器才能对其进行配置,如下所示:

<custom-splitter class="org.mule.module.rss.routing.FeedSplitter">
    <spring:property name="entryFilter">
        <spring:bean class="org.mule.routing.filters.AcceptAllFilter" />
    </spring:property>
</custom-splitter>


这使所有RSS条目都能通过拆分过程。

如文档所述,我应该将每个条目作为单独的消息接收,如果提要条目不同,但如果所有条目都相同,我确实会得到这种行为,拆分器仅返回一条Mule消息。您能否共享一个小样本RSS源以重现问题?@david dossot feed的外观如下所示:Description。。。。localhost:8088/1 2013-01-17T10:09:36.057+05:30标题1 localhost:8088/2 2013-01-17T10:09:36.057+05:30标题2此处两个项目具有相同的属性,因此FeedSplitter将只返回1个项目,而不是2个。