批处理步骤的ItemWriter部分出现类型不兼容错误

时间:2019-02-04 16:27:17

标签: spring spring-batch

我正在尝试在我的Spring Batch作业中添加一个新步骤,该步骤将创建XLS文件。我有一个阅读器,将输出放入名为CLUCReportDTO的bean中。我正在研究itemWriter的蓝图以创建CSV文件。这是代码

在A8SPACH2类内部

  @Autowired
   private ACH2WriteProcessor clucWriter;


  public Step jobStep020() {
    return stepBuilderFactory.get(JOB.ACH2_BATCH_LOAD.getProfileName() + 
   ".js020")
            .listener(promotionListener)
            .<CLUCReportDTO, String> chunk(100)
            .reader(lockboxWirePostService.getUnappliedJes())
            .writer(clucWriter)
            .listener(listener)
            .build();
  }

在ACH2WriteProcessor类内部

public class ACH2WriteProcessor implements ItemWriter<CLUCReportDTO>{


@Override
    public void write(List<? extends CLUCReportDTO> items) throws Exception 
    {  


    }  

 }

我在A8SPACH2中遇到以下错误:无法转换为ItemWriter <?超级字符串> 。在导致此错误的A8SPACH2或ACH2WriteProcessor的安装程序中我缺少什么?

谢谢

1 个答案:

答案 0 :(得分:1)

根据您的配置(.<CLUCReportDTO, String> chunk(100),该项目编写器应写入String类型的项目,但是您要声明它写入CLUCReportDTO类型的项目({{1 }}。

您的项目作家应这样声明:

public class ACH2WriteProcessor implements ItemWriter<CLUCReportDTO>