在分散收集模式中,特别是在分布变体中,我尝试通过传递如下的标题属性在gatherer元素中使用“correlation-strategy-expression”,我得到“处理程序xxxx没有产生回复,其“requireReply”属性设置为true。
<scatter-gather input-channel="inputDistribution" output-channel="output" gather-channel="gatherChannel">
<scatterer>
<recipient channel="distribution1Channel"/>
<recipient channel="distribution2Channel"/>
<recipient channel="distribution3Channel"/>
</scatterer>
<gatherer correlation-strategy-expression="headers[CorrelationId]'/>
</scatter-gather>
其中,在测试代码中,我显式地将报头属性设置为如下:MessageBuilder.writhPayload(“foo”).setHeader(MessageHeaders.REPLY_CHANEL,输出).setHeader(“相关ID”,“foo”).build()。
注意:如果我使用apply-sequene=true作为scatterer属性,它可以正常工作。
你能建议一下配置中的错误吗?我们需要定义任何bean吗?
尝试使用correlation-strategry-expression,但出现错误
1条答案
按热度按时间lp0sw83n1#
不幸的是,你的担心仍然不清楚。我相信你只是没有给我们所有的相关代码,导致该错误。
以下是配置:
下面是单元测试的代码: