日期:2014-05-17 浏览次数:20813 次
package cn.ait.cms.action; import java.util.Date; import java.util.List; import java.util.TimerTask; import org.springframework.beans.factory.annotation.Autowired; import cn.ait.cms.model.TbArticle; import cn.ait.cms.service.ArticleService; import cn.ait.common.util.Util; public class IndexNewsStatusExcuter extends TimerTask{ @Autowired ArticleService articleService; @Override public void run() { System.out.println("############# 执行" + Util.date2str(new Date(), "yyyy-MM-dd hh:mm:ss") ); //这里异常 List<TbArticle> list =findAllData(); for (TbArticle tbArticle : list) { System.out.println("内容:"+ tbArticle.getMainTitle()); } } /** 获取最新数据库信息[ 置顶,推荐,new 信息 ]*/ public List<TbArticle> findAllData(){ List<TbArticle> list = null ; /* 设置查询条件 */ int isRecommend = 1; try{ //这里异常22222222222 list = articleService.findByIsRecommend(isRecommend); }catch (Exception e) { System.out.println("监听器查询数据异常..."); e.printStackTrace(); } return list ; } }
java.lang.NullPointerException at cn.ait.cms.action.IndexNewsStatusExcuter.findAllData(IndexNewsStatusExcuter.java:38) at cn.ait.cms.action.IndexNewsStatusExcuter.run(IndexNewsStatusExcuter.java:23) at java.util.TimerThread.mainLoop(Timer.java:512) at java.util.TimerThread.run(Timer.java:462) Exception in thread "Timer-2" java.lang.NullPointerException at cn.ait.cms.action.IndexNewsStatusExcuter.run(IndexNewsStatusExcuter.java:24) at java.util.TimerThread.mainLoop(Timer.java:512) at java.util.TimerThread.run(Timer.java:462) 2012-4-19 14:10:25 org.apache.cxf.transport.servlet.CXFServlet updateContext
try{ if(null=articleService) System.out.println("error..."); list = articleService.findByIsRecommend(isRecommend); }catch (Exception e) { System.out.println("监听器查询数据异常..."); e.printStackTrace(); }
------解决方案--------------------
你调用 IndexNewsStatusExcuter 的时候,是不是new 出来的?
Task task = new IndexNewsStatusExcuter();
如果是,这个task是不被spring容器管理的,所以你里面的articleService必然是NULL,你可以试试从context中取出articleService
------解决方案--------------------