在Spring Integration中使用拆分器,我拆分了从数据库中的表中选择的数据行。 在每条消息完成该过程之后,我想将每条消息聚合为一条消息,就像旧消息一样。我能怎么做?我不知道拆分器拆分了多少消息。我所知道的只是拆分消息标题中的相关ID。即使我汇总了消息,我也无法制定发布策略。
我该如何解决这个问题?
有没有办法一次使用jdbc-outbound-gateway或jdbc-outbound-channel-adapter插入多行数据而不使用拆分器插入每一行?
答案 0 :(得分:2)
实际上,如果您使用默认的拆分器策略,它将填充整个SequenceDetails
,包括sequenceSize
。最后,具有默认策略的聚合器可以关联消息并使用SequenceDetails
释放它们。
当然,如果您使用自定义拆分逻辑,则应手动提供这些标头。如果您知道大小,当然 - MessageBuilder#pushSequenceDetails
为每个拆分的消息。
在这部分中,我们需要了解有关您案例的更多信息。你的代码的一些例子也很棒。
重新。批量插入:https://jira.spring.io/browse/INT-3364。如你所见,我们还没有实现它。但是,使用JdbcTemplate
<outbound-channel-adapter>
用法来解决问题就足够了