代码之家  ›  专栏  ›  技术社区  ›  Bill K

如何在JAVA EE中实现通用队列监控组件?

  •  2
  • Bill K  · 技术社区  · 17 年前

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

    什么EJB、servlet等…我是否应该考虑实现这类事情?我正在使用WebSphere7,但理想情况下,该解决方案不会绑定到任何一个应用服务器。此外,JMS不是一个选项。如果用JavaEE容器管理组件来实现这一点并不简单,还有什么其他方法有意义?

    谢谢。

    2 回复  |  直到 17 年前
        1
  •  2
  •   dfa    17 年前

    带计时器服务的EJB3。像这样:

    @Stateless
    class MyBeanImpl implements MyBean {
    
        @Timeout
        public void myTimedOutMethod(Timer timer){
    
        }
    }  
    
        2
  •  1
  •   kgiannakakis    17 年前

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