servlet监听器问题 求帮助
代码:
这是 执行类代码 配置都正常
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
[解决办法]
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
[解决办法]