at com.mchange.v2.log.log4j.Log4jMLog$Log4jMLogger.isLoggable错误解决办法

使用Spring4.1.7+HIbernate4.3.10,项目运行一会就回报错!如下:

Exception in thread "Timer-11" java.lang.NullPointerException
at com.mchange.v2.log.log4j.Log4jMLog$Log4jMLogger.isLoggable(Log4jMLog.java:257)
at com.mchange.v2.resourcepool.BasicResourcePool$CullTask.run(BasicResourcePool.java:1934)
at java.util.TimerThread.mainLoop(Timer.java:512)
at java.util.TimerThread.run(Timer.java:462)
Exception in thread "Timer-12" java.lang.NullPointerException


dao层代码:

public Users login(Users users) {
		String hql="from Users where status='1' and mobile=? and password=?";
		List<Users> listUsers = (List<Users>) getHibernateTemplate().find(hql, new Object[]{users.getMobile(),users.getPassword()});
		if(listUsers==null || listUsers.size()<1){
			return null;
		}
		return listUsers.get(0);
		
		
		/*Session session= getHibernateTemplate().getSessionFactory().getCurrentSession();
		Query query = session.createQuery(hql);
		query.setParameter("mobile", users.getMobile());
		query.setParameter("password", users.getPassword());
		List<Users> listUsers = query.list();
		if(listUsers==null || listUsers.size()<1){
			return null;
		}
		return listUsers.get(0);*/
	}
注释的代码使用session进行查询的~



有可能是这种错误:

1。你使用的是hibernate的c3p0连接池
2。你在你的dao层种使用了若干session并没有释放,到一定的连接数量就会出问题
解决办法:
如果你的dao层继承了这个类HibernateDaoSupport
那么执行数据库操作的时候使用getHibernateTemplate().XXX方法进行增删改查

你可能感兴趣的:(at com.mchange.v2.log.log4j.Log4jMLog$Log4jMLogger.isLoggable错误解决办法)