java quartz 停止正在进行的任务解决方案

转载 2016年05月31日 09:10:00
新建的Job实现InterruptableJob,在Job中实现interrupt()方法。如下:

 

public abstract class TestJob implements InterruptableJob {
private boolean _interrupted = false;
@Override
public void interrupt() throws UnableToInterruptJobException {
System.out.println(“外界正在调用调度器停止这个任务key: ” + _jobKeyName+”,执行其他任务。”);
_interrupted = true;
}

 

当要立即停止当前正在运行的任务的时候,通过调用scheduler1.pauseTrigger(“监听名称”,”监听组名称”)(该方法表示接下来的任务将暂停该监听器,也就暂停了任务,但是不会停止正在运行的任务);scheduler1.interrupt(“任务名称”,”任务组名称”);。调用scheduler1.interrupt这个方法就会执行Job中实现的interrupt() 方法,从而改变了变量_interrupted ,在执行中进行这个标记判断就可实现中断任务了,如:

for (int i = 0; i < 10; i++) {

if(_interrupted)break;
float wd = JavaJNA.instance.ReadSensor(ip,port,1,1,wdtype,wdattribute);
for (int j = 0; j<3; j++) {
if(String.valueOf(wd).equals(“-999.9″)){
wd = JavaJNA.instance.ReadSensor(ip,port,1,1,wdtype,wdattribute);
}else
break;
}
if(_interrupted)break;
float sd = JavaJNA.instance.ReadSensor(ip,port,1,1,sdtype,sdattribute);
for (int j = 0; j<3; j++) {
if(String.valueOf(sd).equals(“-999.9″)){
sd = JavaJNA.instance.ReadSensor(ip,port,1,1,sdtype,sdattribute);
}else
break;
}s

}

Quartz的任务的临时启动和暂停和恢复

Quartz的任务的临时启动和暂停和恢复   在项目中需要手动启停某些服务,那么需要有一个控制这些任务的类。由于任务是有Quartz控制的,我们只需要通过Quartz的相关的API实现相关的功能即可。...
  • xpsharp
  • xpsharp
  • 2014年02月16日 16:47
  • 5612

java系统中使用调度器Quartz实现对正在执行任务的停止

最近在进行数据迁移的任务(就是迁移历史数据),数据量很大,需要运行几个月才能运行完。要求是每天的非工作时间定时进行迁移,正常上班的时间自动停止。自然就想到了使用Quartz来执行定时任务。每天定时的启...

quartz 动态添加任务、暂停、删除

配置文件application-quartz.xml

java编程式控制quartz Scheduler 启动和停止,无法停止的问题解决

在项目中需要手动启停某些服务,那么需要有一个控制这些任务的类。由于任务是有Quartz控制的,我们只需要通过Quartz的相关的API实现相关的功能即可。       在spring 配置中把自...

任务调度开源框架Quartz动态添加、修改和删除定时任务

Quartz 是个开源的作业调度框架,为在 Java 应用程序中进行作业调度提供了简单却强大的机制。Quartz框架包含了调度器监听、作业和触发器监听。你可以配置作业和触发器监听为全局监听或者是特定于...

Quartz的简化(只要一张表,动态启停任务)

spring-quartz,一张表配置、动态启停Job

Quartz2实现任务的临时启动/暂停/恢复

在项目中需要手动启停某些服务,那么需要有一个控制这些任务的类。由于任务是有Quartz控制的,我们只需要通过Quartz的相关的API实现相关的功能即可。        Java代...

代码控制Quartz的启动和停止

Spring中如何使用Quartz就不必说了,这里说说如果动态设定cron。 这个要解决3个问题: 1.将用户输入转换为Cron表达式 2.安全的重启quartz 3.程序启动的时候,从数据库...

在spring中实现quartz2.2.1的动态调度(开始、暂停、停止等)

需求: 需要在页面设定某个时间,然后点击按钮后,执行某个调度,并且可以在页面删除某个调度 1、导包 org.quartz-scheduler quartz 2.2.1 ...

Quartz入门实例7-处理被中断的Job

让Job实现  InterruptableJob就可以
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:java quartz 停止正在进行的任务解决方案
举报原因:
原因补充:

(最多只允许输入30个字)