Spring integration Spring集成JdbcMessageHandler-包含多个项目的有效负载

Spring integration Spring集成JdbcMessageHandler-包含多个项目的有效负载,spring-integration,spring-jdbc,Spring Integration,Spring Jdbc,如何处理有效负载中的多条消息 我尝试了以下方法: @Bean @ServiceActivator(inputChannel = "outChannel") public MessageHandler jdbcMessageHandler() { JdbcMessageHandler jdbcMessageHandler = new JdbcMessageHandler(getDataSource(), getSql()); jdbcMessageHand

如何处理有效负载中的多条消息

我尝试了以下方法:

@Bean
@ServiceActivator(inputChannel = "outChannel")
 public MessageHandler jdbcMessageHandler() {
    JdbcMessageHandler jdbcMessageHandler = new JdbcMessageHandler(getDataSource(), getSql());

     jdbcMessageHandler.setPreparedStatementSetter((ps, message) -> {
            Item[] items = ((Item[]) message.getPayload());
            Arrays.stream(items).forEach(item -> {                
                    ps.setString(1, item.getName());
            }
            ps.addBatch();
    } 
    return jdbcMessageHandler;
}
 
但只有最后一条消息被多次插入。 (注意:对bean使用java配置而不是xml)

请参阅文档:

如果请求消息的负载是一个
Iterable
实例,则
JdbcMessageHandler
执行
jdbcooperations.batchUpdate()

Iterable
,不是我在示例中看到的数组。因此,考虑将数组转换成<代码>列表< />代码,并且应该同时处理几个项目的批处理更新。