基于项目字段的春批补齐策略

我正在尝试实现CompletionPolicy,其中我需要根据一些字段来决定完成,例如,假设我的项目是一个Order类,我需要将订单金额相加,一旦金额超过1000,我就希望Chunk完成。 订单金额

但在CompletionPolicy中,我从来没有得到过项目。有其他方法可以实现它吗? 或者我可以通过某种方式在CompletionPolicy中获取项目


解决方案

您可以让CompletionPolicy实现ItemReadListener(http://docs.spring.io/spring-batch/apidocs/org/springframework/batch/core/ItemReadListener.html)。您可以通过ItemReadListener.afterRead方法访问这些项目。

与读取器、处理器、编写器和微线程等其他标准批处理组件不同,实现侦听器接口的完成策略不会自动注册。

所以您需要将完成策略显式注册为侦听器。

相关文章