spring配置
<!-- 定义触发器来管理任务Bean -->
<bean id="cronTriggerPunch"
class="org.springframework.scheduling.quartz.CronTriggerBean">
<property name="jobDetail">
<!-- 使用嵌套Bean的方式来定义任务Bean -->
<bean
class="org.springframework.scheduling.quartz.JobDetailBean">
<!-- 指定任务Bean的实现类 -->
<property name="jobClass"
value="com.zc.hr.webyzm.PunchJob"/>
<!-- 为任务Bean注入属性 -->
<property name="jobDataAsMap">
<map>
<entry key="empManager" value-ref="empManager"/>
</map>
</property>
</bean>
</property>
<!-- 指定Cron表达式:中午12点自动调度 -->
<property name="cronExpression"
value="0 0 12 * * ?"/></bean>
<!-- 执行实际的调度调度 -->
<bean
class="org.springframework.scheduling.quartz.SchedulerFactoryBean" id="timmer" scope="singleton" lazy-init="false">
<property name="triggers">
<list>
<ref local="cronTriggerPunch"/>
</list>
</property>
</bean>
现在这个配置是好使的,但是我只要对cron表达式做一点修改就不好使,比如改成0 15 12 * * ?就不好使,而且大多数上午时间都不好使,我把12点改成7点,10点都不好使,为什么呢。。我只是换了个数字啊-------诶,,,,
还有十二点好使的时候也会延迟20秒左右,这是正常的么?SpringBean
<!-- 定义触发器来管理任务Bean -->
<bean id="cronTriggerPunch"
class="org.springframework.scheduling.quartz.CronTriggerBean">
<property name="jobDetail">
<!-- 使用嵌套Bean的方式来定义任务Bean -->
<bean
class="org.springframework.scheduling.quartz.JobDetailBean">
<!-- 指定任务Bean的实现类 -->
<property name="jobClass"
value="com.zc.hr.webyzm.PunchJob"/>
<!-- 为任务Bean注入属性 -->
<property name="jobDataAsMap">
<map>
<entry key="empManager" value-ref="empManager"/>
</map>
</property>
</bean>
</property>
<!-- 指定Cron表达式:中午12点自动调度 -->
<property name="cronExpression"
value="0 0 12 * * ?"/></bean>
<!-- 执行实际的调度调度 -->
<bean
class="org.springframework.scheduling.quartz.SchedulerFactoryBean" id="timmer" scope="singleton" lazy-init="false">
<property name="triggers">
<list>
<ref local="cronTriggerPunch"/>
</list>
</property>
</bean>
现在这个配置是好使的,但是我只要对cron表达式做一点修改就不好使,比如改成0 15 12 * * ?就不好使,而且大多数上午时间都不好使,我把12点改成7点,10点都不好使,为什么呢。。我只是换了个数字啊-------诶,,,,
还有十二点好使的时候也会延迟20秒左右,这是正常的么?SpringBean
http://decisiononeself.iteye.com/blog/645517
你看看这个,是不是参数指定出错了,,我以前用的时候还好。
但是他就是不执行,而我把7换成10,也就是十点十五我再改系统时间就好使,我很无语啊,
如果是配置问题的话十点十五或者十二点这些也不应该好使啊,
import org.quartz.JobExecutionException;
import org.springframework.scheduling.quartz.QuartzJobBean;import com.zc.hr.service.IEmpManager;/**
*
* @author Administrator
*
*/
public class PunchJob extends QuartzJobBean { //标识,防止重复提交
private boolean flag = false;
//依赖的业务逻辑组件
private IEmpManager empManager;
@Override
protected void executeInternal(JobExecutionContext arg0)
throws JobExecutionException {
System.out.println("可以执行?");
if( !flag ) {
System.out.println("自动打卡开始,当前时间为"+new Date());
empManager.autoPunchJob();
}
} public void setEmpManager(IEmpManager empManager) {
this.empManager = empManager;
}
}
3Q
而且我还配置了一个servlet用getBean("timmer")手动让他加载了一下,我想问题不应该再出现在这了,