如何在QuartzInitializerListener中使用Quartz?
|
我很难理解如何将Quartz与ѭ0一起使用。
首先,我在部署描述符中声明该侦听器。但是,然后如何添加我的工作呢?看一下QuartzInitializerListener的实现,我看到它创建了
SchedulerFactory
和ѭ2but,但是我看不到添加作业的任何方法。工厂接收到一个配置文件,但同样也没有与那里的作业相关的信息。
我从搜索中仅发现了非常简单的示例,有关实例化main方法中的所有内容。
谁能指出我一个更真实的例子?如果这很重要,我正在使用JBoss 5。谢谢。
没有找到相关结果
已邀请:
2 个回复
味芯憨
编辑:这意味着,当您使用此侦听器时,可以通过运行以下命令在每个servlet / Spring MVC控制器/ ...中获取
:
请注意,在使用任何servlet处理传入请求之前,一定要先执行上下文侦听器。这意味着调度程序将始终在使用前正确初始化。 以下评论中的讨论摘要,该讨论实际上回答了所提出的问题: 如果要在应用程序启动时添加作业,请编写另一个侦听器(类似于Quartz提供的侦听器),查找StdSchedulerFactory(可以轻松使用ServletContext)并执行所需的操作。确保侦听器以与web.xml中声明的顺序相同的顺序执行,因此请将侦听器放在Quartz之后。
席酱
2)编写web.xml:
如您所见,有两个侦听器。一个属于Quartz API,另一个属于您的API。首先,Quartz API侦听器将按顺序执行。此时,我们将准备好的调度程序工厂。如果未指定相应属性\“ quartz:start-on-load \”或将其指定为true,则此侦听器还将启动调度程序。 3)编写您的Quartz侦听器:
该监听器将在Quartz监听器执行后执行。这意味着我们已经准备好与我们一起创建Scheduler Factory,并启动了Scheduler。因此,您只需要将作业添加到调度程序。如您所见,contextDestroyed方法为空,因为调度程序关闭工作将由Quartz API schedluer进行。