我配置了一个具有4个不同作业的石英调度程序,每个作业每1分钟触发一次。我配置的时间表如下: -
<schedule>
<job>
<name>LockMonitor</name>
<job-class>background.jobs.LockMonitor</job-class>
</job>
<trigger>
<simple>
<name>LockJobTrigger</name>
<job-name>LockMonitor</job-name>
<repeat-count>-1</repeat-count>
<repeat-interval>60000</repeat-interval>
</simple>
</trigger>
<job>
<name>LogMonitor</name>
<job-class>background.jobs.LogMonitorJob</job-class>
</job>
<trigger>
<simple>
<name>LogMonitorTrigger</name>
<job-name>LogMonitor</job-name>
<repeat-count>-1</repeat-count>
<repeat-interval>60000</repeat-interval>
</simple>
</trigger>
<job>
<name>ProcessMonitor</name>
<job-class>background.jobs.ProcessMonitor</job-class>
</job>
<trigger>
<simple>
<name>ProcessMonitorTrigger</name>
<job-name>ProcessMonitor</job-name>
<repeat-count>-1</repeat-count>
<repeat-interval>60000</repeat-interval>
</simple>
</trigger>
<job>
<name>HealthCheck</name>
<job-class>background.jobs.HealthCheck</job-class>
</job>
<trigger>
<simple>
<name>HealthCheckTrigger</name>
<job-name>HealthCheck</job-name>
<repeat-count>-1</repeat-count>
<repeat-interval>60000</repeat-interval>
</simple>
</trigger>
</schedule>
我遇到的问题是,大多数时候只有第一和第二工作才能执行。第三和第4个工作 - 即ProcessMonitor和HealthCheck仅偶尔执行。有人可以帮我弄这个吗?这是因为我为所有作业配置了相同的时间间隔吗?是否有任何方法可以确保在开始下一组执行之前执行所有4个作业?
我已经将所有作业都配置为statements statefuljob
您配置了多少个线程?当我保留注册在石英框架中运行的作业数量的线程==时,一切似乎都按预期运行。