我有两个相似的豆子。它们被设置为在ScheduledTimerTask
.
但是一个工作正常,另一个不行!以下是这两种配置:
<!-- Clear Orders By Sessions -->
<bean id="clearExpiredSessionOrdersTask" class="com.datx.timers.ClearExpiredSessionOrdersTask" autowire="byName">
<property name="period" value="00:02:10"/>
</bean>
<bean id="clearExpiredSessionOrdersTaskInvoker"
class="org.springframework.scheduling.timer.MethodInvokingTimerTaskFactoryBean">
<property name="targetObject" ref="clearExpiredSessionOrdersTask" />
<property name="targetMethod" value="doTask" />
</bean>
<bean id="clearExpiredSessionOrdersTaskTimer" class="org.springframework.scheduling.timer.ScheduledTimerTask">
<property name="timerTask" ref="clearExpiredSessionOrdersTaskInvoker" />
<property name="delay" value="1000" /><!-- In miliseconds -->
<property name="period" value="130000" /><!-- In miliseconds -->
</bean>
<!-- Clear Orders By Sessions -->
这是一个正在工作的。我的班级com.datx.timers.ClearExpiredSessionOrdersTask
排在第一排。
另一个bean是这样设置的:
<!-- DocumentScheduleTask -->
<bean id="documentSchaduleTask" class="com.datx.timers.DocumentSchaduleTask" autowire="byName" init-method="init">
<property name="period" value="00:02:10"/>
</bean>
<bean id="documentSchaduleTaskInvoker"
class="org.springframework.scheduling.timer.MethodInvokingTimerTaskFactoryBean">
<property name="targetObject" ref ="documentSchaduleTask" />
<property name="targetMethod" value="doTask" />
</bean>
<bean id="documentSchaduleTaskTimer" class="org.springframework.scheduling.timer.ScheduledTimerTask">
<property name="timerTask" ref="documentSchaduleTaskInvoker" />
<property name="delay" value="1000" /><!-- In miliseconds -->
<property name="period" value="130000" /><!-- In miliseconds -->
</bean>
<!-- DocumentScheduleTask -->
你看到相似之处了吗?第一行也是我的课。
这是我的DocumentScheduleTask
课:
public class DocumentSchaduleTask{
private String period;
public init(){
System.out.println("Test");
}
public void doTask(){
//This method is called at a specific time
}
public void setPeriod(String period){
this.period = period;
}
public String getPeriod(){
return this.period;
}
}
这些配置的其余部分是相同的。但在第二个中,period
财产没有价值。并且它的init
方法没有被调用。这些意味着什么?
为什么会造成这种情况?我应该去哪里寻找?你有什么不同吗?