AbstractItemCountingItemStreamItemReader 抛出没有意义的异常

AbstractItemCountingItemStreamItemReader throws Exception that makes no sense

我在 AbstractItemCountingItemStreamItemReader 上实现了如下方法:

      @Override 
     protected Object doRead() {
     Product product = productIteratorItemReader.read();
       if (product == null) {
        readNextProducts();
        product = productIteratorItemReader.read();
      }
       return product;
     }

      @Override
      protected void doOpen() {
         initialProductIterator(); // Initialize the iterator to be able read from it
      }

最后

  public void readNextProducts() {
    if (productsIdListIterator.hasNext()) {
        List<Long> productIds = productsIdListIterator.next();
        List<Product> products = 
        productService.queryForProducts(departmentIds);
        productIteratorItemReader = new IteratorItemReader<>(products);
    }
}

不幸的是,很难找到任何关于如何使用它的例子。 这是我的简单实现。然而,当我开始工作时,我得到了下面的异常,这对我来说毫无意义。我不知道为什么我需要设置一个名称,我也不知道该怎么做。任何帮助将不胜感激。提前致谢

java.lang.IllegalArgumentException:为了定义执行上下文键前缀,必须分配名称。

我在构造函数中使用 super.setName(NAME)