似たような豆が2つあります。で呼び出されるように設定されていScheduledTimerTask
ます。
しかし、一方は正常に機能していますが、もう一方はそうではありません! これらの 2 つの構成は次のとおりです。
<!-- 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;
}
}
これらの構成の残りの部分は同じです。しかし、2 番目のものでは、period
プロパティは値を取りません。そして、そのinit
メソッドは呼び出されません。これらは何を意味していますか?
なぜこれを引き起こしたのでしょうか?どこを探せばいいですか?違いはありますか?