Как реализовать универсальный компонент мониторинга очереди в Java EE? - PullRequest
2 голосов
/ 10 апреля 2009

Я хотел бы создать управляемый контейнером компонент контроля очередей в приложении Java EE 5. Очередь представляет собой таблицу базы данных, и каждые 5 минут или около того монитор следит за записями, которые соответствуют определенным критериям в этой таблице. Если есть какие-либо подходящие записи, монитор начинает какую-то обработку в новом потоке. Этот рабочий цикл проверки сна должен продолжаться до тех пор, пока приложение запускается, и происходит независимо от сеанса клиента.

На какие EJB-компоненты, сервлеты и т. Д. Я должен смотреть, чтобы реализовать подобные вещи? Я использую Websphere 7, но в идеале решение не должно быть привязано ни к одному серверу приложений. Кроме того, JMS не вариант. Если это не так просто реализовать с помощью компонентов, управляемых контейнером Java EE, какие еще способы имеют смысл?

Спасибо.

Ответы [ 2 ]

2 голосов
/ 10 апреля 2009

EJB3 со службами таймера. Примерно так:

@Stateless
class MyBeanImpl implements MyBean {

    @Timeout
    public void myTimedOutMethod(Timer timer){

    }
}  
1 голос
/ 10 апреля 2009

Не стоит запускать собственные потоки в контейнере Java EE. В Websphere вы можете использовать Java EE Timers . Если вы хотите решение, которое также будет работать в Tomcat, например, вы можете использовать Кварц .

...