//普通类spring如果要用到applicationcontxt容器中的各BEAN
//需要继承 ApplicationObjectSupport,在方法中使用
ApplicationContext applicationContext = this.getApplicationContext();
//再使用容器获得BEAN,这个 SzhgjTaskDao 不管是注解还是XML配置文件必须是已经加载在容器中的了
SzhgjTaskDao szhgjTaskDao = applicationContext.getBean(SzhgjTaskDao.class);
public class TjSzhGjServiceImpl extends ApplicationObjectSupport implements TjSzhGjService {
public String runTaskPre(String taskid){
try {
ApplicationContext applicationContext = this.getApplicationContext();
SzhgjTaskDao szhgjTaskDao = applicationContext.getBean(SzhgjTaskDao.class);
SzhgjTask task=(SzhgjTask) szhgjTaskDao.get(taskid);
String state=task.getState();
if(!"正在执行".equals(state)&&!"已完成".equals(state)){
boolean flag=szhgjTaskDao.checkrun();
if(!flag){
task.setState("等待执行中");
task.setType("立即执行");
szhgjTaskDao.update(task);
return "runTaskPreTrue"; // 正常执行
}else{
return "runTaskPre4"; //t_SZHGJ_TASK 表中有 state='正在执行'的记录
}
}else{
return "runTaskPre2";//"此任务正在执行或已执行完成,不允许重新执行"
}
} catch (Exception e) {
e.printStackTrace();
return "runTaskPre3";//"系统错误,执行失败"
}
}
}