2009-04-10 5 views
2

Java EE 5 응용 프로그램에서 컨테이너 관리 구성 요소를 모니터링하는 대기열을 만들고 싶습니다. 대기열은 데이터베이스 테이블이며 모니터는 매 5 분마다 모니터가 해당 테이블의 특정 기준과 일치하는 레코드를 찾습니다. 일치하는 레코드가 있으면, 모니터는 새 스레드에서 일종의 처리를 시작합니다. 이 sleep-check-do 작업 루프는 앱이 시작되고 클라이언트 세션과 독립적으로 발생하는 한 계속 진행해야합니다.Java EE에서 일반 큐 모니터링 구성 요소를 구현하는 방법은 무엇입니까?

이런 종류의 구현을 위해 어떤 EJB, Servlet 등을 조사해야합니까? 필자는 Websphere 7을 사용하고 있지만 이상적으로 솔루션은 어느 하나의 응용 프로그램 서버에 묶이지 않을 것입니다. 또한 JMS는 옵션이 아닙니다. Java EE 컨테이너 관리 구성 요소로 구현하기가 쉽지 않은 경우 다른 방법으로는 어떤 의미가 있습니까?

감사합니다.

답변

2

타이머 서비스가있는 EJB3. 다음과 같은 것 :

@Stateless 
class MyBeanImpl implements MyBean { 

    @Timeout 
    public void myTimedOutMethod(Timer timer){ 

    } 
} 
1

Java EE 컨테이너에서 자신의 스레드를 시작하는 것은 좋지 않습니다. Websphere에서는 Java EE Timers을 사용할 수 있습니다. 예를 들어 Tomcat에서도 사용할 수있는 솔루션이 필요하면 Quartz을 사용할 수 있습니다.

관련 문제