先看代码:
[code="java"]
<bean id="userLoadTrigger"
class="org.springframework.scheduling.quartz.CronTriggerBean">
<property name="jobDetail">
<ref bean="userLoadInvokingJobDetail"/>
</property>
<property name="cronExpression">
<value>0 38 16 * * ?</value>
</property>
</bean>
<bean id="dataLoadTrigger"
class="org.springframework.scheduling.quartz.CronTriggerBean">
<property name="jobDetail">
<ref bean="dataLoadInvokingJobDetail"/>
</property>
<property name="cronExpression">
<value>0 50 8,16 * * ?</value>
</property>
</bean>
<bean id="userLoadInvokingJobDetail"
class="org.springframework.scheduling.quartz.MethodInvokingJobDetailFactoryBean">
<property name="targetObject" ref="fingerSystemManageImpl"/>
<property name="targetMethod">
<value>loadUser</value>
</property>
</bean>
<bean id="dataLoadInvokingJobDetail"
class="org.springframework.scheduling.quartz.MethodInvokingJobDetailFactoryBean">
<property name="targetObject" ref="fingerSystemManageImpl"/>
<property name="targetMethod">
<value>loadData</value>
</property>
</bean>
<bean id="fingerSystemManageImpl" class="com.包名(省略).FingerSystemManageImpl" scope="prototype"/>
@Override
public void loadData() {
System.out.println(" begin loadData");
}
[/code]
那段打印代码一直没执行,麻烦看一下问题在哪?
好像没有问题,你把时间改为每分钟时间触发
可以出发的话,你看看你的jre运行的时区是不是不正确,可能有8个小时的误差,jvm启动的参数加上就行了
1.dataLoadTrigger->jobDetail,dataLoadInvokingJobDetail->fingerSystemManageImpl
从你的配置文件看是没有看出来问题,这最直接的依赖注入。
2.你debug一下。你在触发点SchedulerFactoryBean(这个应该是一个组合器,组合模式)中打一个断点试一试。看看两个trigger是否都没执行。从源头找起。
[code="xml"]
[/code]
替换成
[code="xml"]
[/code]
他那个好像没什么问题,现在不都这样用吗?那样也可以。