市場部門要求有一個定時發佈書籍章節的功能,因此就用到了TimerTask
package com.sophie.task;
import java.util.TimerTask;
import org.springframework.beans.factory.annotation.Autowired;
import com.sophie.OriginalQuartzManager;
public
class ReleaseTask
extends TimerTask {
@Autowired
OriginalQuartzManager originalQuartzManager;
private
static
boolean isRunning =
false;
//避免重複調用
@Override
public
void run() {
if(!isRunning){
isRunning =
true;
releaseChapter();
isRunning =
false;
}
}
public
void releaseChapter() {
originalQuartzManager.releaseChapter();
}
}
spring配置
<
bean
id
="releaseTask"
class
="com.sophie.task.ReleaseTask"
>
</
bean
>
<
bean
id
="scheduledTask"
class
="org.springframework.scheduling.timer.ScheduledTimerTask"
>
<!-- 系統啓動後60秒開始執行 -->
<
property
name
="delay"
value
="60000"
/>
<!-- 每60秒執行一次 -->
<
property
name
="period"
value
="60000"
/>
<
property
name
="timerTask"
ref
="releaseTask"
/>
</
bean
>
<
bean
id
="timerFactory"
class
="org.springframework.scheduling.timer.TimerFactoryBean"
>
<
property
name
="scheduledTimerTasks"
>
<
list
>
<
ref
local
="scheduledTask"
/>
</
list
>
</
property
>
</
bean
>