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

spring+quartz实例

2016-04-27 21:05 417 查看
spring自己就支持quartz,这两个集成经常会出现因为包的版本问题而出现的各种问题。而且不同版本的配置方式也有点不同。

我用的是spring4.15+quartz-2.2.0.jar。

先是配置文件applicationContext.xml

<!-- 启动触发器的配置开始 -->
<bean name="startQuertz" lazy-init="false" autowire="no"
class="org.springframework.scheduling.quartz.SchedulerFactoryBean">
<property name="triggers">
<list>
<ref bean="myJobTrigger" />
</list>
</property>
</bean>
<!-- 启动触发器的配置结束 -->

<!-- quartz-2.x的配置 -->
<bean id="myJobTrigger"
class="org.springframework.scheduling.quartz.CronTriggerFactoryBean">
<property name="jobDetail">
<ref bean="myJobDetail" />
</property>
<property name="cronExpression">
    <!-- 指定Cron表达式:每月27日16时21分启动 Seconds Minutes Hours DayofMonth Month DayofWeek Year -->
<value>0 21 16 27 * ? *</value>
</property>
</bean>

<!-- job的配置开始 -->
<bean id="myJobDetail"
class="org.springframework.scheduling.quartz.MethodInvokingJobDetailFactoryBean">
<property name="targetObject">
<ref bean="punchJob" />
</property>
<property name="targetMethod">
<value>work</value>
</property>
</bean>
<!-- job的配置结束 -->

<!-- 工作的bean -->
<bean id="punchJob" class="schedule.PunchJob" />


配置文件中的cronExpression就是设置什么时间之间,和linux中设置crontab差不多。

下面是调度器

package schedule;

import org.springframework.beans.factory.annotation.Autowired;

import domain.Attend;
import service.EmployeeService;

public class PunchJob {
@Autowired
private EmployeeService employeeService;

public void work() {
Attend attend = new Attend();
employeeService.isCome(attend);
}

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: