日期:2014-05-17 浏览次数:21007 次
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
------解决方案--------------------