У меня есть вопрос об общем шаблоне проектирования в EJB. У меня есть приложение Java EE (EJB и Web), и мне нужен своего рода фоновый процесс, который постоянно сканирует и обрабатывает определенные данные с помощью JPA.
Одним из решений, я думаю, является реализация @Singleton EJB. В методе, аннотированном @PostConstruct, я могу запустить свой процесс.
@Singleton
@Startup
public class MyUpdateService {
@PostConstruct
void init() {
while(true) {
// scann for new data...
// do the job.....
}
}
}
Но это рекомендуемый шаблон? Или есть лучший способ запустить такой класс в контейнере EJB?
В EJB есть другие шаблоны, такие как @TimerService и новая пакетная обработка Java EE7. Но оба понятия - я думаю - используются для конечных процессов?