В моем пакетном задании Java (JSR-352, JBeret) я достиг точки, когда я (необязательно) хотел бы дождаться решения пользователя. Согласно моим исследованиям, спецификация JSR-352 не обеспечивает концепцию ожидания. Итак, вопрос в том, какие есть другие варианты?
Мои текущие соображения:
- Я бы предпочел не разбивать работу, так как это потребовало бы поддержания связи между частями для мониторинга.
- Внедрение JMS в проект только для этой цели кажется несколько излишним.
- Опрос базы данных через JPA или JDB C тоже не кажется хорошим решением.
- Указанная c информация еще не доступна при запуске задания, поэтому ее нельзя передать в качестве параметра задания.
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;
}
}