My Spring Integration(使用HTTP入站网关)应用程序具有以下流程:
我正在尝试探索清除/刷新聚合器的inputChannel或在关联操作之后重置关联策略的方法,以使不同的POST请求能够重用传入的"整个" XML输入消息。
此时,正在发生的事情是,一旦整个"如果另一个HTTP POST发送"整个"成功处理XML输入消息。具有相同UUID的XML输入消息,流程悬而未决,可能是因为它无法理解如何处理@CorrelationStrategy或者在UUID方面处于陈旧状态。
坦率地说,UUID的定义意味着它必须为每个HTTP请求唯一生成,但只是想要适应最终客户端最终为每个POST发送相同UUID的情况。
这是我的Aggregator类及其方法的外观:
@MessageEndpoint
public class ProductAggregator {
...
...
@Aggregator(inputChannel="compositeMessagesForAggregation",
outputChannel="upstreamResponses")
public Message<BusinessComposite>
generateAggregatedResponse(List<Message<BusinessComposite>>
listOfCompositeMessagesForAggregation) {
...
...
}
@CorrelationStrategy
public UUID correlateByUUID(Message<BusinessComposite>
compositeMessageForAggregation) {
...
...
}
提前致谢! 此致 巴拉斯
答案 0 :(得分:0)
在聚合器上将expireGroupsUponCompletion
和expireGroupsUponExpiry
设置为true
以重复使用相同的相关ID;否则&#34;迟到&#34;消息被丢弃。