at com.mysql.jdbc.MysqlIO.send(MysqlIO.java:2759)
at com.mysql.jdbc.MysqlIO.sendCommand(MysqlIO.java:1612)
at com.mysql.jdbc.MysqlIO.sqlQueryDirect(MysqlIO.java:1723)
at com.mysql.jdbc.Connection.execSQL(Connection.java:3283)
at com.mysql.jdbc.PreparedStatement.executeInternal(PreparedStatement.j
va:1332)
at com.mysql.jdbc.PreparedStatement.executeQuery(PreparedStatement.java
1467)
at org.hibernate.jdbc.AbstractBatcher.getResultSet(AbstractBatcher.java
208)
at org.hibernate.loader.Loader.getResultSet(Loader.java:1812)
at org.hibernate.loader.Loader.doQuery(Loader.java:697)
at org.hibernate.loader.Loader.doQueryAndInitializeNonLazyCollections(L
ader.java:259)
at org.hibernate.loader.Loader.doList(Loader.java:2232)
at org.hibernate.loader.Loader.listIgnoreQueryCache(Loader.java:2129)
at org.hibernate.loader.Loader.list(Loader.java:2124)
at org.hibernate.loader.criteria.CriteriaLoader.list(CriteriaLoader.jav
:118)
at org.hibernate.impl.SessionImpl.list(SessionImpl.java:1597)
at org.hibernate.impl.CriteriaImpl.list(CriteriaImpl.java:306)
at com.dao.visitDao.getVisitCount(visitDao.java:21)
at com.action.showAction.showAllOnHomePage(showAction.java:43)
我们用的是Myeclipse 9.0+MySQL+Tomcat 6.0开发的一个很小的网站,然后主要用的是hibernate和struts2架构,发布到tomcat上去后,10个小时左右服务器就崩溃了,报上面的错误,我们想做一个访问量的功能,然后showAction中调用visitDao中的getVisitCount方法,刚开始10多个小时怎么访问都一点问题没有,然后就会出现上面的问题。我仔细查看过代码,数据库交互方面,session的打开和关闭都没问题,请问有没有遇到过类似的问题啊,求赐教!!谢谢!!项目急用!!
at com.mysql.jdbc.MysqlIO.sendCommand(MysqlIO.java:1612)
at com.mysql.jdbc.MysqlIO.sqlQueryDirect(MysqlIO.java:1723)
at com.mysql.jdbc.Connection.execSQL(Connection.java:3283)
at com.mysql.jdbc.PreparedStatement.executeInternal(PreparedStatement.j
va:1332)
at com.mysql.jdbc.PreparedStatement.executeQuery(PreparedStatement.java
1467)
at org.hibernate.jdbc.AbstractBatcher.getResultSet(AbstractBatcher.java
208)
at org.hibernate.loader.Loader.getResultSet(Loader.java:1812)
at org.hibernate.loader.Loader.doQuery(Loader.java:697)
at org.hibernate.loader.Loader.doQueryAndInitializeNonLazyCollections(L
ader.java:259)
at org.hibernate.loader.Loader.doList(Loader.java:2232)
at org.hibernate.loader.Loader.listIgnoreQueryCache(Loader.java:2129)
at org.hibernate.loader.Loader.list(Loader.java:2124)
at org.hibernate.loader.criteria.CriteriaLoader.list(CriteriaLoader.jav
:118)
at org.hibernate.impl.SessionImpl.list(SessionImpl.java:1597)
at org.hibernate.impl.CriteriaImpl.list(CriteriaImpl.java:306)
at com.dao.visitDao.getVisitCount(visitDao.java:21)
at com.action.showAction.showAllOnHomePage(showAction.java:43)
我们用的是Myeclipse 9.0+MySQL+Tomcat 6.0开发的一个很小的网站,然后主要用的是hibernate和struts2架构,发布到tomcat上去后,10个小时左右服务器就崩溃了,报上面的错误,我们想做一个访问量的功能,然后showAction中调用visitDao中的getVisitCount方法,刚开始10多个小时怎么访问都一点问题没有,然后就会出现上面的问题。我仔细查看过代码,数据库交互方面,session的打开和关闭都没问题,请问有没有遇到过类似的问题啊,求赐教!!谢谢!!项目急用!!
解决方案 »
- 用c++写的webSevices接口访问不到该接口的WSDL,为什么?
- hibernate分页很奇怪的问题,结果集合为0,但实际有100条记录
- 在JAVA中怎样把工程封装成.ear文件,急,在线等,
- 我想实现当一个用户登陆我的网站的时候,在另一个网站在不弹出窗口的情况下也加入相同的登陆人数
- 可不可以把写在applicationContext.xml中的bean,理解为被spring构造成了一个静态全局的实例.
- 请教神仙帮小弟看看为用hibernate生成user表的ORM的时候,为什么会出现一个UserID.java类呢
- 把weblogic移到JBoss上面的方法。
- FormBean没接收到页面传来的某个属性
- build.xml 中的一个问题
- struts应用debug问题
- java.lang.ClassCastException: java.lang.String cannot be cast to common.User
- COOKIE问题 在线求助啊 急死人了
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at com.opensymphony.xwork2.DefaultActionInvocation.invokeAction(Default
ctionInvocation.java:452)
at com.opensymphony.xwork2.DefaultActionInvocation.invokeActionOnly(Def
ultActionInvocation.java:291)
at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultAction
nvocation.java:254)
at com.opensymphony.xwork2.interceptor.DefaultWorkflowInterceptor.doInt
rcept(DefaultWorkflowInterceptor.java:176)
at com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercep
(MethodFilterInterceptor.java:98)
at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultAction
nvocation.java:248),能帮我解决一下吗,都纠结了好长时间了 。。
public Newsinfo getNewsByNewsId(int id){
Session session=HibernateSessionFactory.getSession();
try {
session.beginTransaction();
Criteria criteria=session.createCriteria(Newsinfo.class);
criteria.add(Restrictions.eq("newsId", id));
List<Newsinfo> list=criteria.list();
session.getTransaction().commit();
if(!list.isEmpty()){
return list.get(0);
}else{
return null;
}
} catch (Exception e) {
e.printStackTrace();
session.getTransaction().rollback();
return null;
} finally{
HibernateSessionFactory.closeSession();
}
}
这样写有问题吗,我觉得就是这个查询引起的,是连接没有关闭导致一段时间之后Hibernate中的连接池连接的数量已满吗??求解释啊!!
at com.action.showAction.showAllOnHomePage(showAction.java:43)
这两个方法和action贴出来
public int getVisitCount(){
Session session=HibernateSessionFactory.getSessionFactory().openSession();
try {
Criteria criteria=session.createCriteria(Visitcount.class);
List<Visitcount> list=criteria.list();
return list.get(0).getVcount();
} catch (Exception e) {
e.printStackTrace();
return 0;
} finally{
HibernateSessionFactory.closeSession(session);
}
}
我这个visitcount表中就一条记录,记录访问量,所以用list.get(0)就能取出访问量的对象了,然后getVcount方法就能得到访问量。求指教!