有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java JdbcBatchItemWriter多线程

有没有办法让JdbcBatchItemWriter多线程运行。 我有一批应该插入许多行(+1M行)

@Bean
public JdbcBatchItemWriter<MyDTO> InitWriter() {
    JdbcBatchItemWriter<MyDTO> writer = new JdbcBatchItemWriter<MyDTO>();
    writer.setItemSqlParameterSourceProvider(new BeanPropertyItemSqlParameterSourceProvider<MyDTO>());
    writer.setSql("INSERT INTO ....");
    writer.setDataSource(cloudDataSource);

    return writer;
}

这花了我很长时间


共 (1) 个答案

  1. # 1 楼答案

    JdbcBatchItemWriter是线程安全的,因此您可以在多个并发事务中使用它。以下是其Javadoc的摘录:

    The writer is thread-safe after its properties are set (normal singleton behavior), so it can be used to write in multiple concurrent transactions.

    因此,在您的情况下,您可以尝试使用Multi-threaded Step,看看它是否可以提高您的工作性能