我项目部署在服务器上后,一开始运行没有问题,过一两天后,有小概率会抛出空指针异常,指在this.list.size()这一行,大部分情况没有问题。
重新部署后问题没了,再过一天又是这个问题,我一开始以为是jvm的问题,今天观察了一次fullGC,没有问题。
sql语句查出来数据是对的,DAO方法里面返回list,但这里返回赋值的list有时候变成null了
有没有大牛说一下问题可能出在哪里,谢谢指点!下面是相关代码。
public class ArticlesAction extends SuperAction {
/**
*
*/
private int title;
private int pageNow = 0;
private final int pageSize = 2;
private static final long serialVersionUID = 1L;
private ArticlesDAO adao = new ArticlesDAOImpl();
private UsersDAO udao = new UsersDAOImpl();
private ArrayList<Articles> list = new ArrayList<Articles>(2);
ArrayList<Reply> replyList = new ArrayList<Reply>();
public String queryFirstPage(){
session.setAttribute("currentPage", 1);
try{
this.list = (ArrayList<Articles>) adao.queryArticlesByPage(2, 1);
}catch(NullPointerException npe){
this.list = (ArrayList<Articles>) adao.queryArticlesByPage(2, 1);
}
if(this.list == null){//这里小概率抛出空指针异常,list不应该是null
return "null_error";
}
if(this.list.size()==0){
return "error";
}
request.setAttribute("blognumber", this.list.size());
request.setAttribute("bloglist", this.list);
return "join_success";
}