public String AutoViewFromSMC(boolean isOpen,ConferenceId confId, String[] autoViewSiteUris, String timeSpan) {
final String[] sArray = autoViewSiteUris;
final ConferenceId confIdAuto = confId;
if (isOpen) {
if (timer != null) {//防止多次开启轮询造成异常
Logger.info("当前存在轮询定时器!");
timer.cancel();
timer.purge();
Logger.info("结束当前轮询定时器,进入新的轮询观看会场!");
}
timer = new Timer();
timer.schedule(new TimerTask() {
public void run() {
Logger.info("AutoViewFromSMC调用SetBroadcast接口:");
resultStr = smcService.SetBroadcast(confIdAuto, sArray[i]);
Logger.info("AutoViewFromSMC调用SetBroadcast接口返回的结果:"+resultStr);
Logger.info("AutoViewFromSMC调用SetVideoSource接口:");
resultStr = smcService.SetVideoSource(confIdAuto,sArray[i], sArray[i]);
Logger.info("AutoViewFromSMC调用SetVideoSource接口返回的结果:"+resultStr);
i++;
i = i % sArray.length;
}
}, 0, 1000 * Integer.valueOf(timeSpan));
} else {
if (timer != null) {
timer.cancel();
timer.purge();
resultStr = "{\"data\":[],\"error\":{\"code\":\"\",\"msg\":\"\"},\"success\":1}";
}else{
resultStr = "{\"data\":[],\"error\":{\"code\":\"99999999\",\"msg\":\"此时不存在轮询观看会场,无法停止!\"},\"success\":0}";
}
}
// 确保return 执行
try {
Thread.sleep(2000);//时间待定
} catch (InterruptedException e) {
e.printStackTrace();
}
return resultStr;
}
单例模式---定时器的问题
最新推荐文章于 2024-10-15 22:39:04 发布