2

我想在 Java EE 5 应用程序中创建一个队列监控容器管理组件。该队列是一个数据库表,每隔 5 分钟左右,监视器会在该表中查找与特定条件匹配的记录。如果有任何匹配的记录,监视器就会在新线程中开始某种处理。只要应用程序启动并独立于任何客户端会话发生,这种睡眠检查工作循环就应该继续。

我应该看什么 EJB、Servlet 等来实现这种东西?我正在使用 Websphere 7,但理想情况下,该解决方案不会绑定到任何一个应用服务器。此外,JMS 不是一个选项。如果用 Java EE 容器管理的组件实现这一点并不简单,那么还有什么其他方法有意义?

谢谢。

4

2 回答 2

2

带有定时器服务的 EJB3。像这样的东西:

@Stateless
class MyBeanImpl implements MyBean {

    @Timeout
    public void myTimedOutMethod(Timer timer){

    }
}  
于 2009-04-10T18:56:20.993 回答
1

在 Java EE 容器中启动自己的线程并不是一个好主意。在 Websphere 中,您可以使用Java EE Timers。例如,如果您想要一个也适用于 Tomcat 的解决方案,您可以使用Quartz

于 2009-04-10T19:00:53.633 回答