Timer / TimerTask已在ManagedBean中取消

时间:2013-12-06 07:34:06

标签: java spring jsf java-ee timer

我有一个SessionScoped bean ProcessListBean有两个方法startProcess和stopProcess如下

public void startProcess(){
timer.schedule(new TimerTask(){
public void run {
 //start after 10seconds
}
},10000);
}


public void stopProcess(){
timer.schedule(new TimerTask(){
public void run {
 //stop after 10seconds
}
},10000);
}

和ManagedBean类为;

@Component("processListBean")
@Scope("session")
public class ProcessListBean{

Timer timer;

//methods and other resources such as DAO

}

当我在JSF视图中按下启动commandButton时,执行processListBean-> startProcess动作, 10秒后,当我在jSF视图中按下stop commandButton时,执行processlistStopProcess。 在那种情况下(反之亦然停止 - 启动,开始 - 停止),我有计时器已取消异常, 我在J2SE中没有遇到过这样的异常,我认为Spring Framework中的会话管理有问题,或者我错过了一些观点。

我还将计时器初始化移动到@PostConstruct但尚未解决我的问题。

0 个答案:

没有答案