2015-11-30 4 views
0

У меня была проверка имени файла в прослушивании выполнения шагов. Если имя файла недействительно, я хочу завершить или остановить шаг от перехода к считывателю. как добиться этого в периодическом режиме?Как остановить/завершить шаг в исполнении слушателей весной?

ответ

1

Слушатель - это неправильное место для проверки данных. используйте процессор и создайте соответствующее исключение, если вам нужно проверить отдельные элементы данных.

Используйте шаг таска до этапа обработки, если вы хотите проверить более «общие» аспекты, такие как имя файла или наличие файла или любое другое условие, которое не является частью одного элемента.

1

Ответ Hansjoerg является действительной точкой. Тем не менее, как о том, как добиться того, что вы пытаетесь сделать, вот пример:

@Override 
public ExitStatus afterStep(StepExecution stepExecution) { 
    return ExitStatus.FAILED; 
} 

Это возвращает статус_завершения FAILED, которые вы можете использовать на вашем <next on="" /> тег, чтобы не дать в считывающее устройство.

+0

Спасибо всем. Я перевел проверку с помощью Listeners на Tasklet, как было предложено. – Gopi

0

Лучший выбор, чтобы решить вашу проблему заключается в использовании JobExecutionDecider, где вы выполняете проверку имени файла и прекратить работу или перейти к следующему шагу

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

  • Нет связанных вопросов^_^