[英]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。 这非常简单。
为了您的阅读乐趣:
希望这足以让您入门!
好消息! 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.