我有一个包含多个Tomcat实例的服务器,每个实例包含大约10个应用程序上下文。我正在考虑使用Quartz来满足我们目前收到的一些调度要求。
我首先想到的是,运行和服务每个实例的所有调度请求的Quartz服务器最好,但似乎大多数用户指南都将Quartz与每个应用程序捆绑在一起。
我的调度程序必须针对不同的上下文在不同的数据库上运行作业。
有没有人有类似的设置?任何人都可以推荐如何在多个实例,多个上下文设置中有效地使用Quartz?将每个Web应用程序捆绑一个单独的调度程序会显着增加我需要的硬件资源吗?有什么一般建议吗?
谢谢。
答案 0 :(得分:1)
我们做了以下事情:
对于每个上下文,我们创建了一个公开我们想要执行的功能的Web服务。
我们使用了另一个tomcat实例来托管石英服务器。我们查看了Quartz提供的命令行服务器并且运行良好。我们只是想让一个简单的方法让我们的服务器管理员启动/停止服务器并在崩溃时自动恢复等。他们习惯用Tomcat做这个,所以我们选择使用tomcat来启动Quartz。
在每个上下文中,我们将quartz客户端配置为使用RMI来创建触发器和作业。在作业详细信息中,我们包含了Web服务URL,因此调度程序知道执行作业的上下文。