В моем пакетном задании Java (JSR-352, JBeret) я достиг точки, когда я (необязательно) хотел бы дождаться решения пользователя. Согласно моим исследованиям, спецификация JSR-352 не предусматривает концепции «ожидания». Так вот вопрос, какие еще есть варианты?
Мои текущие соображения:
- Я бы предпочел не разделять работу, так как это потребует поддержания связи между частями для нужд мониторинга.
- Внедрение JMS в проект только для этой цели кажется несколько излишним.
- Опрос базы данных через JPA или JDBC также не кажется хорошим решением.
- Конкретная информация еще не доступна при запуске задания, поэтому ее нельзя передать в качестве параметра задания.
import javax.batch.api.Decider;
import javax.batch.runtime.StepExecution;
import javax.inject.Named;
@Named
public class AwaitingDecider implements Decider {
@Override
public String decide(final StepExecution[] executions) {
String decision = // how to wait here?
return decision;
}
}