`
hywang1230
  • 浏览: 4818 次
  • 性别: Icon_minigender_1
  • 来自: 合肥
社区版块
存档分类
最新评论

SimpleJob的使用实例

阅读更多
quartz使用的是1.8.6版本
import java.util.Date;

import org.quartz.Job;
import org.quartz.JobExecutionContext;
import org.quartz.JobExecutionException;

public class SimpleJob implements Job {

	@Override
	public void execute(JobExecutionContext jobCtx)
			throws JobExecutionException {
		System.out.println(jobCtx.getTrigger().getName() +  " triggered.time.is:" + (new Date()));
	}
	
}

import java.util.Date;

import org.quartz.JobDetail;
import org.quartz.Scheduler;
import org.quartz.SchedulerException;
import org.quartz.SchedulerFactory;
import org.quartz.SimpleTrigger;
import org.quartz.impl.StdSchedulerFactory;

public class SimpleTriggerRunner {
	public static void main(String[] args) {
		try {
			//创建一个JobDdtail实例,指定SimpleJob,组名为jgroup1,名称为job1_1
			JobDetail jobDetail = new JobDetail("job1_1", "jgroup1", SimpleJob.class);
			
			//通过SimpleTrigger定义调度规则:马上启动,每2秒运行一次,共运行100次
			SimpleTrigger simpleTrigger = new SimpleTrigger("trigger1_1", "tgroup1");
			simpleTrigger.setStartTime(new Date());	//开始时间
			simpleTrigger.setRepeatInterval(2000);	//运行频率
			simpleTrigger.setRepeatCount(10);	//运行次数
			
			//通过SchedulerFactory获取一个调度器实例
			SchedulerFactory schedulerFactory = new StdSchedulerFactory();
			Scheduler scheduler = schedulerFactory.getScheduler();
			
			//注册并进行调度
			scheduler.scheduleJob(jobDetail, simpleTrigger);
			//调度开始
			scheduler.start();
		} catch (SchedulerException e) {
			e.printStackTrace();
		}
	}
}

运行结果:
trigger1_1 triggered.time.is:Wed Apr 17 10:39:10 CST 2013
trigger1_1 triggered.time.is:Wed Apr 17 10:39:11 CST 2013
trigger1_1 triggered.time.is:Wed Apr 17 10:39:13 CST 2013
trigger1_1 triggered.time.is:Wed Apr 17 10:39:15 CST 2013
trigger1_1 triggered.time.is:Wed Apr 17 10:39:17 CST 2013
trigger1_1 triggered.time.is:Wed Apr 17 10:39:19 CST 2013
trigger1_1 triggered.time.is:Wed Apr 17 10:39:21 CST 2013
trigger1_1 triggered.time.is:Wed Apr 17 10:39:23 CST 2013
trigger1_1 triggered.time.is:Wed Apr 17 10:39:25 CST 2013
trigger1_1 triggered.time.is:Wed Apr 17 10:39:27 CST 2013
trigger1_1 triggered.time.is:Wed Apr 17 10:39:29 CST 2013
每次执行都是n+1条

其中注册代码也可以写成
simpleTrigger.setJobGroup("jgroup1"); //1.指定关联的Job组名
simpleTrigger.setJobName("job1_1"); //1.指定关联的Job名称
scheduler.addJob(jobDetail, true); //2.注册JobDetail
scheduler.scheduleJob(simpleTrigger); //3.注册指定了关联jobDetail的Trigger

1.2.3的顺序不能随意变动
分享到:
评论

相关推荐

    elastic-job例子

    3. **作业注册**:创建一个Job类,继承自`org.elasticjob.lite.api.job.SimpleJob`,并在`execute`方法中编写业务逻辑,即更新学生年龄到100岁的代码。记得在Job类上添加注解`@ElasticJob annotation`,用于指定作业...

    spring-quartz简单实例

    接下来,创建一个JobDetail bean,将Job类与特定的Job实例关联: ```xml ``` 确保替换`yourTargetObject`为包含`executeJobMethod`方法的对象引用。 接着,创建一个Trigger,定义Job的执行时机。例如,...

    一个最简单的定时任务Quartz的例子

    启动Scheduler后,`SimpleJob`类中的`execute`方法将会按照设定的时间间隔打印消息。 在实际应用中,可以创建多个Job和Trigger,或者对同一个Job设置多个Trigger,以满足复杂的需求。同时,Quartz还提供了集群支持...

    Elastic-job入门教程

    Elastic-job-lite是轻量级的分布式调度解决方案,它适合资源有限的环境,比如一台机器上部署多个elastic-job实例。而Elastic-job-cloud则是提供更完整的分布式调度解决方案,可以在大规模集群上部署,并且具备了任务...

    Java工具:定时任务工具Elastic-job的简单使用

    - **Spring Bean管理**:Elastic-job的Job实例可以通过Spring的Bean管理,实现依赖注入,增强任务的灵活性。 10. **版本选择**: - **选择Elastic-job-Lite还是Elastic-job-Cloud**:根据实际的项目规模和资源...

    一个java Quartz的小例子

    在这个小例子中,我们将深入理解如何使用Java Quartz来实现定时任务。 首先,我们需要引入Quartz的依赖。在Maven项目中,可以在pom.xml文件中添加以下依赖: ```xml <groupId>org.quartz-scheduler ...

    elasticjob中文文档

    ElasticJob-Lite的作业类型主要通过SimpleJob接口实现,其中包含一个execute方法,该方法会在作业执行时被调用。作业按照分片逻辑(sharding)被执行,每个分片对应一个作业实例。ShardingContext是作业执行时上下文...

    elastic-job-quickstart.zip

    8. **API使用**:在代码中,我们需要通过`SimpleJob`或`DataflowJob`接口实现自己的任务逻辑。`SimpleJob`适用于执行简单逻辑的任务,而`DataflowJob`适用于数据流处理,支持批处理。 9. **Spring整合**:Elastic-...

    ElasticJob练习代码总结

    你可以定义自己的作业类,实现`SimpleJob`接口,覆盖`execute`方法来编写实际的业务逻辑。 2. **作业实例**(Job Instance):每个作业在不同节点上的运行实例称为作业实例。同一个作业可以在集群中的多个节点上...

    简单的Quartz任务调度例子

    JobDetail job = JobBuilder.newJob(SimpleJob.class) .withIdentity("myJob", "group1") // 名称和组别 .build(); ``` 4. **创建Trigger**:配置触发器,如使用SimpleTrigger,设置开始时间和重复频率。 ```...

    Spring + quartz

    在这个例子中,`SimpleJob`会在每五分钟执行一次,根据`cronExpression`的时间规则。 **扩展与优化** 1. 使用`StatefulJob`接口,如果任务状态需要在执行之间保持,可以实现这个接口。 2. 通过`JobBuilder`和`...

    定时器Quartz.net2.0内置操作类

    在这个例子中,我们创建了一个名为`SimpleJob`的作业,它在每次触发时打印当前时间。然后我们创建了一个触发器,设置为每10秒执行一次。最后,我们将作业和触发器添加到调度器,任务就会按照设定的间隔重复执行。 ...

    分布式任务调度框架elastic-job-lite

    - 定义作业类,实现`SimpleJob`接口或使用注解`@ElasticJob`。 - 在作业服务器上启动作业实例。 - 在调度服务器上设置调度规则。 - 监控作业执行情况,可以通过日志或注册中心查看。 5. **最佳实践** - 尽可能...

    quartz-2.2.3.jar完整包

    - 调度Job:使用Scheduler实例将JobDetail和Trigger关联起来,然后启动Scheduler。 3. **示例源码**: 包含的示例源码可以帮助你快速理解如何在项目中集成Quartz。例如,创建一个简单的Job并用CronTrigger调度它...

    elas-job.zip

    在分布式系统中,任务调度是不可或缺的一环,Elastic-Job就是一款强大的分布式任务调度框架,由当当网开源,它结合了Elasticsearch Job和Simple Job两个项目,提供了轻量级、高可用的分布式任务调度解决方案。...

    elasticjob-lite-example.rar

    2. **Job类**:自定义的作业类,实现了`SimpleJob`、`DataflowJob`或`StatelessJob`接口,其中`execute`方法是任务执行的核心代码。 3. **Spring配置**:可能包含Spring的配置文件,用于注册Job Bean,以及设置...

    scheduler任务调度各种触发器和过时处理策略

    这个Job实例会在每次触发时打印当前时间并休眠25秒。 ### 4. CronTrigger概述 CronTrigger允许使用Cron表达式定义执行时间,如"0 9 * * * ?"表示每天9点整执行。配置CronTrigger通常会比SimpleTrigger更复杂,但...

    quartz-job初始化数据表.zip

    每个Job实例在表中对应一条记录。 2. **QRTZ_TRIGGERS**:这个表保存了触发器的信息,如触发器类型(SimpleTrigger或CronTrigger)、触发时间、重复间隔等。每个触发器对应表中的一个条目。 3. **QRTZ_CRON_...

    Quartz入门案例

    public class SimpleJob implements Job { @Override public void execute(JobExecutionContext context) { System.out.println("SimpleJob is running..."); // 执行你的任务代码 } } ``` 接下来,我们需要...

Global site tag (gtag.js) - Google Analytics