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)
我在 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)