Spring 基于项目字段的批处理 CompletionPolicy
Spring batch CompletionPolicy based on item fields
我正在尝试实施 CompletionPolicy,其中我需要根据一些文件来决定完成,例如假设我的商品是一个订单 class 我需要将订单金额加起来,一旦金额超过1000 我要块完成。
ordeer.amount
但是在 CompletionPolicy 中我从来没有 item.Is 还有其他方法可以实现它吗?
或者我可以通过某种方式在 CompletionPolicy 中获取项目
您可以让您的 CompletionPolicy
实现 ItemReadListener
(http://docs.spring.io/spring-batch/apidocs/org/springframework/batch/core/ItemReadListener.html)。您可以通过 ItemReadListener.afterRead
方法访问这些项目。
与读取器、处理器、写入器和 tasklet 等其他标准批处理组件相比,实现侦听器接口的完成策略 不会 自动注册。
因此您需要将完成策略明确注册为侦听器。
我正在尝试实施 CompletionPolicy,其中我需要根据一些文件来决定完成,例如假设我的商品是一个订单 class 我需要将订单金额加起来,一旦金额超过1000 我要块完成。 ordeer.amount
但是在 CompletionPolicy 中我从来没有 item.Is 还有其他方法可以实现它吗? 或者我可以通过某种方式在 CompletionPolicy 中获取项目
您可以让您的 CompletionPolicy
实现 ItemReadListener
(http://docs.spring.io/spring-batch/apidocs/org/springframework/batch/core/ItemReadListener.html)。您可以通过 ItemReadListener.afterRead
方法访问这些项目。
与读取器、处理器、写入器和 tasklet 等其他标准批处理组件相比,实现侦听器接口的完成策略 不会 自动注册。
因此您需要将完成策略明确注册为侦听器。