调度程序守护程序
调度程序守护程序是搜索要在数据库中运行的任务的后台线程。
将为每台服务器上定义的每个调度程序启动调度程序守护程序。如果在 server1 上配置了 Scheduler 1,除非克隆了它,否则 server1 上将只运行一个调度程序守护程序。如果在节点范围级别定义了 Scheduler 1,那么该调度程序将在该节点中的每台服务器上运行。
轮询时间间隔确定了查询持久存储的频率。缺省情况下,此值设置为 30 秒。当找到计划在当前轮询时间间隔中运行的任务时,将设置异步 bean 警报。然后,该任务使用调度程序的关联工作管理器的警报线程尽可能接近此时间运行。因此,工作管理器中配置的警报线程数量确定了执行的并发任务的数量。不会丢失任务。如果达到这一限制,新任务将排队等候,直至警报线程变为可用时再被执行。服务器负载以及关联的工作管理器的警报线程池中的空闲线程可用性将表明实际的触发时间。
集群中的调度程序守护程序
将多个调度程序配置为使用相同的表(如在集群环境中)时,任何守护程序都可以找到一个任务并在其 Java™ 虚拟机 (JVM) 中设置警报。将在调度程序守护程序首先运行的虚拟机中执行此任务,直至停止此守护程序并启动另一个守护程序。如果 server1 上的一个应用程序计划运行一个任务,而 server2 比 server1 先启动,那么将在 server2 上运行此任务。
如果这不是所期望的行为,那么您可以向调度程序设置添加 daemonAutoStart 调度程序定制属性。将此属性设置为 false 可防止相关联的调度程序守护程序在服务器启动期间启动。要向调度程序设置添加此属性,请完成下列步骤:
- 在管理控制台中单击资源 > 调度程序。
- 从集合中选择现有调度程序,或者创建新的调度程序。
- 在“其他属性”下,选择定制属性,然后单击新建。
- 在“名称”字段中指定 daemonAutoStart,并根据您是要启用还是禁用此功能,在“值”字段中指定 false 或 true。
可以在“描述”字段中指定对此定制属性的描述,但此字段不是必需字段。
- 将“类型”设置为 java.lang.String。java.lang.String 是此字段的缺省设置。
- 单击确定,然后单击保存以保存配置更改。
- 重新启动服务器。
要重新启用自动启动调度程序,请将此定制属性的值更改为 true,或者从调度程序配置设置中删除此定制属性。更改此属性的值或者从调度程序配置设置中删除此属性之后,您必须保存该配置,然后重新启动服务器。
daemonAutoStart 属性的缺省值为 true。