繁体   English   中英

如何在EJB3中使用Quartz?

[英]How to use Quartz with EJB3?

我希望能够:

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

工作将是ejbs或call ejbs,而我想管理网站上的所有内容(用户必须定义​​执行方式)

因此,我查看了timerservice,timerobjects,timer和timerhandle。 但是我认为它不能满足我的所有需求

另一方面,Quartz允许我做我想做的每件事,但是我丝毫不了解如何将其集成到我的jboss中。 我读到石英使用自己的线程池,我不知道如何处理所有这些。

我在项目中使用了Jboss Seam,但是seam / quartz集成非常有限(或者文档很有限),而且不是100%安全的(在他们的论坛上看到: “永远运行”任务仅在几周后结束

如果有人设法将一个好的调度程序集成到他的应用程序服务器中(jboss是一个加号),并且可以为我提供指导,建议甚至代码段,那么我会很高兴。

提前致谢。

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

通常,您无需担心线程池,如果您愿意的话,Quartz也可以自己处理所有这些事情。 它从启动时从属性文件中获取其信息,您可以定义或使用石英附带的默认文件。 我一直在使用默认值,因为它可以满足我的目的。

至于定义作业,您可以创建作业类并从那里调用ejb。 这非常简单。

为了您的阅读乐趣:

所有Quartz文档

石英JavaDoc

包含大量代码片段的食谱

希望这足以让您入门!

好消息! JBoss已经有一个内置的调度程序。

由于EJB 2.0规范包括按计划的时间间隔运行无状态会话Bean和MDB,所以一段时间以来,所有应用程序服务器都已包含此功能。

这是一个使用其内置调度程序配置JBoss以运行类的示例:

http://www.jboss.org/community/wiki/Scheduler

关于JBoss实现的最好的部分是它基于MBean规范,这意味着您可以在运行时创建/更新/删除计划任务。

好的,很抱歉,我在Jboss Seam的资源中发现了我所需要的: QuartzDispatcher创建QuartzTriggerHandle,它在指定的时间和日期触发接缝事件,并且可以手动暂停,恢复和停止。 我在要执行的方法上使用@observer。

这很简单,到目前为止已经可以使用。

正如Poindexter指出的那样, Quartz文档有一个很好的起点: Quartz开发教程 ,用法示例Cook Book(以代码示例形式的快速入门)等。

什么是石英”的文章也非常好(即使现在有点老了)。

要与JBoss集成,可以看看如何在JBoss Wiki上配置Quartz服务

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM