java - 如何将 Quartz 与 EJB3 一起使用?

标签 java jakarta-ee ejb-3.0 seam scheduling

我希望能够:

  • 定义不同的作业和触发器。
  • 按需修改到期日期和间隔
  • 暂停或取消执行(触发)

作业将是 ejbs 或调用 ejbs,我希望管理网站上的所有内容(用户必须定义​​执行)

所以我查看了计时器服务、计时器对象、计时器和计时器句柄。但我认为它不能满足我所有的需求

另一方面,Quartz 允许我做我想做的每一件事,但我对如何将其集成到我的 jboss 中一无所知。 我读到quartz 使用它自己的线程池,但我不知道如何处理这一切。

我在我的项目中使用Jboss Seam,但是seam/quartz集成非常有限(或者文档是)并且不是100%安全(在他们的论坛上看到:'run forever' tasks end after only a few weeks)

如果有人设法将一个好的调度程序集成到他的应用程序服务器中(jboss 是一个优点),并且可以给我指导、建议,甚至代码片段,我会很兴奋。

提前致谢。

最佳答案

我有一些将 Quartz 集成到 Weblogic(抱歉,没有 jboss 经验)应用服务器的经验。 Quartz 有一个内置的监听器 class它将在服务器启动时被调用(根据 J2EE 规范),自动配置 Quartz 调度程序。然后,在另一个启动类中,您可以检索该调度程序、添加作业并开始为这些作业提供服务。

你通常不需要担心线程池,如果你也需要的话,Quartz 可以自己处理这一切。它在启动时从属性文件中获取信息,您可以定义该信息或使用quartz 附带的默认属性文件。我一直使用默认值,因为它适合我的目的。

就定义作业而言,您可以创建作业类并从那里调用您的 ejb。这是非常简单的。

为了您的阅读乐趣:

All Quartz documentation

Quartz JavaDoc

Cookbook containing lots of code snippets

希望这足以让您开始!

关于java - 如何将 Quartz 与 EJB3 一起使用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1826647/

相关文章:

mysql - 使用 Hibernate Persistence Provider 和 MySQL DB 在 Apache TomEE 中部署 EJB

java - 第一次连接到 Glassfish v3 很慢

java - DataSnapshot.getValue() 未正确检索对象

java - Scanner.nextLine() 上的 NoSuchElementException

java - EJB 世界的新手...... EJB 客户端中的空指针异常

java - 需要一个 servlet 从/home/Bureau 等路径下载文件

java - 如何在 Spring 应用程序上下文之外创建 Spring Bean

java - 使用Python访问Java API信息

java - 仅使用外部 ID 的 Hibernate 一对一映射

tomcat - 如何配置 Tomcat 在登录后始终指向 index.jsp?