您的位置:首页 > 编程语言 > Java开发

Quartz的spring集成

2017-04-27 19:51 288 查看

Quartz的spring集成

1.实现Job接口,定义Quartz的Job

java
public class MailJob implements Job{
@Override
public void execute(JobExecutionContext context) throws JobExecutionException {
System.out.println("你的任务执行代码");
}
}


2.quartz.properties

建议参考持久化Quartz的内容,进行编写


3.配置spring

3.1配置jobDetail

java
<bean name="mailJobDetail" class="org.springframework.scheduling.quartz.JobDetailFactoryBean">
<property name="jobClass" value="cn.com.ultrapower.atp.quartz.MailJob" />
<property name="jobDataMap">
<map>
<entry key="mailIndex" value="xxx" />
<entry key="username" value="xxx" />
<entry key="password" value="123456" />
</map>
</property>
<property name="durability" value="true" />
</bean>


其实上述的代码,与我们写的下面的代码很类似:


java
JobDetail jobDetail = JobBuilder.newJob(UltraJob.class)
.withIdentity(jobName, JOB_GROUP_NAME)
.usingJobData("mailIndex", "xxx")
.usingJobData("username", "xxx")
.usingJobData("password", "123456")
.build();


3.2 配置Trigger

java
<bean id="mailSimpleTrigger"
class="org.springframework.scheduling.quartz.SimpleTriggerFactoryBean">
<property name="name" value="mailTrigger"></property>
<property name="group" value="mailTrigger"></property>
<property name="jobDetail">
<ref bean="mailJobDetail" />
</property>
<property name="startDelay" value="20000"/>
<property name="repeatInterval" value="5000"/>
</bean>


上述代码以SimpleTrigger做示范,稍后会做CronTrigger的
上述代码类似于我们下面的java代码:


java
CronTrigger cronTrigger = TriggerBuilder.newTrigger().withIdentity(jobName, TRIGGER_GROUP_NAME).startNow()
.withSchedule(cronBuilder)
.build();


3.3 配置Scheduler

java
<bean id="ultraSchedulerFactory"
class="org.springframework.scheduling.quartz.SchedulerFactoryBean">
<property name="autoStartup" value="true"></property>
<!-- 自定义一个scheduler的名字,方便后期实例化多种scheduler以区分 -->
<property name="schedulerName" value="ultraScheduler"></property>
<property name="configLocation" value="/WEB-INF/config/quartz.properties" />
<!-- 下面是将spring的上下文  注册进quartz -->
<property name="applicationContextSchedulerContextKey" value="applicationContext" />
<property name="triggers">
<list>
<!-- 下面这段话将我们上述配置的简单Trigger配置进了Scheduler-->
<ref bean="mailSimpleTrigger" />
</list>
</property>
</bean>


现在我们已经将所有的spring配置做完了。稍后会写复杂点(持久化)的spring配置。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  spring java quartz