北纬30度水域 2016-01-07 03:39 采纳率: 50%
浏览 3645

Spring 定时任务 在执行方法时报空指针

定时任务的xml:


com.boco.auto.AutoIPV6BusinessAlarmStatisticsReport







0 30 3 * * ?


Spring注入:
class="com.boco.web.struts.action.report.ReportCommonActionPipeRes"
parent="baseAction">





















<!-- add liuhuipeng -->





class="com.boco.alarm.service.impl.VendorFaultReportServiceImpl">













定时任务:
public class AutoAlarmStatisticsReport implements Job{
static Logger logger = Logger.getLogger(AutoAlarmStatisticsReport.class) ;
private ReportCommonActionPipeRes pipeResAction;

@Override
public void execute(JobExecutionContext arg0) throws JobExecutionException {
    logger.info("+++进入定时任务。+++");
    generateReport();
}
public void generateReport(){
    logger.info("modelName=AlarmStatistics");
    pipeResAction = (ReportCommonActionPipeRes)StartupApp.getInstance().
    getAppContext().getBean("reportpiperesource");
    String modelName = "IPV6BusinessAlarmStatistics";
    Date date = new Date();
    SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
    String today = sdf.format(date);
    this.pipeResAction.insertBusinessNEStatistics(modelName);
    //insertBusinessNEStatistics(modelName);
}

}
调用此方法:
public boolean insertBusinessNEStatistics(String modelName){
boolean isOk = false;
Date date = new Date();
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
String createDate = sdf.format(date);
SimpleDateFormat sdf1 = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
Date datestart = new Date();

String startDateString="";
startDateString= sdf1.format(datestart);
List Allist = new ArrayList();
String informixSql = statementManagementBean.getStatementByName(modelName.trim());
Map parameterMap = new HashMap();

    if((null == informixSql)||informixSql.equalsIgnoreCase("no such table")){
        return isOk;
    }else{
        String[] sql_Array = informixSql.split(";");
        List<Map> dataList = new ArrayList<Map>();
        for(String sql : sql_Array){
            if(sql != null && sql.trim().length() > 0){
                if(modelName.equalsIgnoreCase("AlarmStatistics")){
                    String procName = "{call pro_alarm_trans_counteveryday()}";
                    boolean isInsertflag= false;
                    //测试:
                    isInsertflag = true;
                //  try {
                //      isInsertflag = vendorfaultService.insertIPV6AlarmCount(procName);
                //      logger.info("++获得告警标识:++"+isInsertflag);
                //  } catch (Exception e) {
                        // TODO: handle exception
                //      logger.error("error 错误的信息", e);
                //  }
                    if(isInsertflag == true){
                        try{
                            dataList = vendorfaultService.queyAlarm(parameterMap, sql.trim(), false);
                        }catch(Throwable t){
                            logger.error("error 错误的信息", t);
                        }
                    }else{
                        return isInsertflag;
                    }
                }else{
                    //dataList = reportCommonDao.commonQuery(sql.trim(), parameterMap);
                    dataList = reportCommonDao.commonQuery(sql.trim(), parameterMap);
                }

            }
        }

        isOk = true;
    }
    return isOk;    
}
  • 写回答

2条回答

  • 飞火流星02027 2016-01-07 06:37
    关注

    请把异常全部粘贴出来,这样别人才更容易帮到你!

    评论

报告相同问题?

悬赏问题

  • ¥20 有关区间dp的问题求解
  • ¥15 多电路系统共用电源的串扰问题
  • ¥15 slam rangenet++配置
  • ¥15 有没有研究水声通信方面的帮我改俩matlab代码
  • ¥15 对于相关问题的求解与代码
  • ¥15 ubuntu子系统密码忘记
  • ¥15 信号傅里叶变换在matlab上遇到的小问题请求帮助
  • ¥15 保护模式-系统加载-段寄存器
  • ¥15 电脑桌面设定一个区域禁止鼠标操作
  • ¥15 求NPF226060磁芯的详细资料