我想要销毁掉能否有办法再启用?
或者说暂时停掉,需要的时候在启用。求大侠们帮帮忙
Timer timer = new Timer("Timer-reconnect provider Timer");
TimerTask task = new TimerTask() {
@Override
public void run() {
log.info("it is time to check jtapi Provider.");
try {
checkProvider();
} catch (Exception e) {
log.info("the Network may be disconnected,please check!");
e.printStackTrace();
}
}
}
在provider INSERVICE的時候关了
在provider OUTOFSERVICE的時候开启
在provider SHUTDOWN的時候关开启我下面这样写就不行 @Override
public void providerInService(ProviderEvent event) {
log.info("provider is InService.");
timer.cancel(); } @Override
public void providerOutOfService(ProviderEvent event) {
log.info("provider is OutOfService,please wait for InService.");
timer.schedule(task, 3000, 10000); } @Override
public void providerShutdown(ProviderEvent event) {
log.info("provider is Shutdown,please wait for restart.");
timer.schedule(task, 3000, 10000);
}
或者说暂时停掉,需要的时候在启用。求大侠们帮帮忙
Timer timer = new Timer("Timer-reconnect provider Timer");
TimerTask task = new TimerTask() {
@Override
public void run() {
log.info("it is time to check jtapi Provider.");
try {
checkProvider();
} catch (Exception e) {
log.info("the Network may be disconnected,please check!");
e.printStackTrace();
}
}
}
在provider INSERVICE的時候关了
在provider OUTOFSERVICE的時候开启
在provider SHUTDOWN的時候关开启我下面这样写就不行 @Override
public void providerInService(ProviderEvent event) {
log.info("provider is InService.");
timer.cancel(); } @Override
public void providerOutOfService(ProviderEvent event) {
log.info("provider is OutOfService,please wait for InService.");
timer.schedule(task, 3000, 10000); } @Override
public void providerShutdown(ProviderEvent event) {
log.info("provider is Shutdown,please wait for restart.");
timer.schedule(task, 3000, 10000);
}
解决方案 »
- Gphone 模拟器 Android_emulator 如何实现本地内网的访问。外网可以访问成功。急!
- 菜鸟求解,我编写的简单的记事本,求速解~!!!!!!!
- java绘图程序的问题(类似WINDOWS画图)
- java读串口数据乱码
- 深入java虚拟机中的一个基础问题
- java 连接远程oralce
- util.Date与 sql.Date 有什么不同 还有类timestamp是干什么用的?
- 如何判断块中是unicode还是ascii?欢迎讨论,帮顶给分!!!
- jbuilder中的applet调试问题,在线等待,谢谢!
- 程序已经编成机器码,为什么不能运行?总是说main出错?
- 突然有一点迷惑,关于私有变量
- 今天下午南通 江苏中威 的机试题(CoreJava)
不管是timer还是task调用了cancel方法,都是直接销毁掉的,所以后面用的直接异常。我的目的是,在服务状态的时候不启用timer在outofserver要启用timer,
在shutdown也要启用timer
(上面两种状态只能用一个schedule)
现在的策略是一启动就10000中check一次,不管是什么状态,然后我闲日志出出现太多check了,想优化一下
就说调用了cancel方法,对象被销毁掉了~再执行就异常了
不管是timer还是task调用了cancel方法,都是直接销毁掉的,所以后面用的直接异常。我的目的是,在服务状态的时候不启用timer在outofserver要启用timer,
在shutdown也要启用timer
(上面两种状态只能用一个schedule)
@Override
public void providerInService(ProviderEvent event) {
log.info("provider is InService.");
task.cancel();
} @Override
public void providerOutOfService(ProviderEvent event) {
log.info("provider is OutOfService,please wait for InService.");
task = new TimerTask() {
@Override
public void run() {
log.info("it is time to check jtapi Provider.");
try {
checkProvider();
} catch (Exception e) {
log.info("the Network may be disconnected,please check!");
e.printStackTrace();
}
}
}
timer.schedule(task, 3000, 10000);
} @Override
public void providerShutdown(ProviderEvent event) {
log.info("provider is Shutdown,please wait for restart.");
task = new TimerTask() {
@Override
public void run() {
log.info("it is time to check jtapi Provider.");
try {
checkProvider();
} catch (Exception e) {
log.info("the Network may be disconnected,please check!");
e.printStackTrace();
}
}
}
timer.schedule(task, 3000, 10000);
}