我通过VM队列接收消息,并使用集合聚合器聚合它们。只要我将我的应用程序部署到一个单独的worker上,一切都会正常工作。当部署到多个worker时,每个worker都会加快自己的聚合,最终会超时,因为并非所有消息都会累积。
这是使用mule 3.9.4
<spring:beans>
<spring:bean id="myObjectStore" class="org.mule.util.store.PartitionedInMemoryObjectStore"/>
</spring:beans>
<collection-aggregator timeout="120000" failOnTimeout="true" storePrefix="wd_data" event-groups-object-store-ref="myObjectStore" doc:name="Collection Aggregator">
<expression-message-info-mapping messageIdExpression="#[message.id]" correlationIdExpression="#[message.outboundProperties.MULE_CORRELATION_ID]"/>
</collection-aggregator>发布于 2020-05-18 07:44:45
问题似乎在于,您正在创建和使用的对象存储类型对于每个工作人员都是本地的。要使用ObjectStore v2,它应该使用predefined object store "_defaultUserObjectStore"。
https://stackoverflow.com/questions/61856124
复制相似问题