2015-02-27 3 views
0

Я пытаюсь реализовать CompletionPolicy, в которой мне нужно решить, заканчивать на основе некоторых поданных, например, пусть говорят, что мой элемент является классом заказа, и мне нужно добавить сумму заказа и раз больше чем 1000 Я хочу, чтобы кусок был завершен. ordeer.amountВесенняя партия CompletionPolicy на основе полей полей

но в CompletionPolicy я никогда не получаю item.Is там другой способ достичь этого? или я могу получить товар в CompletionPolicy как-то

ответ

2

Вы можете сделать свой CompletionPolicyItemReadListener реализовать (http://docs.spring.io/spring-batch/apidocs/org/springframework/batch/core/ItemReadListener.html). Вы можете получить доступ к элементам с помощью метода ItemReadListener.afterRead.

В отличие от других стандартных пакетных компонентов, таких как считыватели, процессоры, писатели и тасклеты, политика завершения, реализующая интерфейс прослушивателя, не автоматически регистрируется.

Таким образом, вам необходимо зарегистрировать свою политику завершения явно в качестве слушателя.

+0

политика завершения не требуется, чтобы добавить в качестве слушателя просто добавить как chunk-completion-policy = "customCompletionPolicy" в вас. и спасибо за предложение, которое я реализую таким же образом. но сохраняя завершениеPolicy и ItemreaderListner Separate. – sandeep

Смежные вопросы