SSH框架,使用ScheduledTimerTask 通过Modbus TCP协议采集数据,有时运行一段时间就停掉了,重启Tomcat程序又能正常运行。

时间:2021-02-02 17:09:47
SSH框架,使用ScheduledTimerTask 通过Modbus TCP协议采集数据,有时运行一段时间就停掉了,重启Tomcat程序又能正常运行。
请问为什么啊?
有没有办法检查,比如ScheduledTimerTask10秒钟不动了,用程序重新启动它。

谢谢。

<bean id="saveDataTimer1" class="com.corona.web.task.SaveDataTimer1"></bean> 
<bean id="scheduledTimerTask1" class="org.springframework.scheduling.timer.ScheduledTimerTask"><property name="timerTask" ref="saveDataTimer1" /> <property name="period"> <value>1000</value> </property></bean>
<bean name = "timerFactoryBean1" class="org.springframework.scheduling.timer.TimerFactoryBean"><property name="scheduledTimerTasks"> <list><ref bean="scheduledTimerTask1"/></list></property> </bean> 

2 个解决方案

#1


package com.corona.web.task;

import java.util.List;
import java.util.TimerTask;

import com.corona.init.Args;
import com.corona.web.twincat.SaveData1;


@SuppressWarnings("unused")
public class SaveDataTimer1 extends TimerTask {
@Override
public void run() {
SaveData1 sd1 = new SaveData1(); 
sd1.service();

}

}

#2


请大家帮助。谢谢。

#1


package com.corona.web.task;

import java.util.List;
import java.util.TimerTask;

import com.corona.init.Args;
import com.corona.web.twincat.SaveData1;


@SuppressWarnings("unused")
public class SaveDataTimer1 extends TimerTask {
@Override
public void run() {
SaveData1 sd1 = new SaveData1(); 
sd1.service();

}

}

#2


请大家帮助。谢谢。