【发布时间】:2015-08-12 21:43:12
【问题描述】:
是否可以在 spring 集成中将一个主记录的子记录发送到 jms 支持的队列中的多个从属,并在主节点中聚合它们的响应,并且一旦所有子进程都在 db 中更新某些内容?
【问题讨论】:
是否可以在 spring 集成中将一个主记录的子记录发送到 jms 支持的队列中的多个从属,并在主节点中聚合它们的响应,并且一旦所有子进程都在 db 中更新某些内容?
【问题讨论】:
一般不建议使用 jms 支持的通道将工作分配给其他实例;请改用通道适配器。 JMS 支持的渠道实际上是用于持久性,而不是分发。
在分流器后面放一个 jms 出站通道适配器。
大师
... ->splitter->jms:outbound-channel-adapter
jms:message-driven-channel-adapter->aggregator-> ...
奴隶
jms:message-driven-channel-adapter-> ... ->jms:outbound-channel-adapter
如果您想将来自聚合器的回复路由回原始调用者,则需要保留 replyChannel - 因为它们是活动对象,它们无法在序列化过程中存活,因此您需要使用 @987654321 @ 并通过 JMS 将回复通道作为字符串传递。
您还需要添加一个标头来告诉从站将结果发送到哪个目标名称;您可以在同一个标题丰富器中执行此操作。在从端,在出站适配器上使用destination-expresssion。
【讨论】: