Spring batch 在AsyncItemProcessor中设置上下文参数

Spring batch 在AsyncItemProcessor中设置上下文参数,spring-batch,Spring Batch,我写了一段代码: 保存客户id列表的分隔文件上的循环 每个客户使用-AsyncItemProcessor获取产品列表 更新计数器 当项目处理器为异步时,如何更新计数器 公共类BulkExportItemProcessor实现ItemProcessor { @注入 公共知识产权知识库; 私人分步执行分步执行; @先于 预处理前的公共无效(步骤执行步骤执行){ this.stepExecution=stepExecution; } @凌驾 公共字符串进程(字符串customerID){ 字符串

我写了一段代码:

  • 保存客户id列表的分隔文件上的循环

  • 每个客户使用-AsyncItemProcessor获取产品列表

  • 更新计数器

  • 当项目处理器为异步时,如何更新计数器

    公共类BulkExportItemProcessor实现ItemProcessor
    {
    @注入
    公共知识产权知识库;
    私人分步执行分步执行;
    @先于
    预处理前的公共无效(步骤执行步骤执行){
    this.stepExecution=stepExecution;
    }
    @凌驾
    公共字符串进程(字符串customerID){
    字符串[]customerIdsList=customerIds.split(“,”);
    int processRecordsIncrement=0;
    for(int i=0;i
    执行上下文是异步项目处理器的不同线程之间的可变共享状态。因此,您需要确保更新它的部分是线程安全的。

    我的问题是指由几个Asyn项目处理器同时更新上下文参数,并避免覆盖一个线程而覆盖其他线程集值。