首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >hibernate 'org.hibernate.exception.JDBCConnectionException:could未执行查询‘

hibernate 'org.hibernate.exception.JDBCConnectionException:could未执行查询‘
EN

Stack Overflow用户
提问于 2012-06-05 14:09:49
回答 1查看 962关注 0票数 1

当我晚上退出时,我正在使用JSF2.0和hibernate..My应用程序工作得很好,但我每天早上都会收到这个异常,我必须重新启动应用程序才能使它工作。

是什么导致了这种情况?

代码语言:javascript
复制
  org.hibernate.exception.JDBCConnectionException: could not execute query
org.hibernate.exception.SQLStateConverter.convert(SQLStateConverter.java:97)
org.hibernate.exception.JDBCExceptionHelper.convert(JDBCExceptionHelper.java:66)
org.hibernate.loader.Loader.doList(Loader.java:2231)
org.hibernate.loader.Loader.listIgnoreQueryCache(Loader.java:2125)
org.hibernate.loader.Loader.list(Loader.java:2120)
org.hibernate.loader.hql.QueryLoader.list(QueryLoader.java:401)
org.hibernate.hql.ast.QueryTranslatorImpl.list(QueryTranslatorImpl.java:361)
org.hibernate.engine.query.HQLQueryPlan.performList(HQLQueryPlan.java:196)
org.hibernate.impl.SessionImpl.list(SessionImpl.java:1148)
org.hibernate.impl.QueryImpl.list(QueryImpl.java:102)
chennaivolunteer.common.ViewActivityBean.getFirstngo(ViewActivityBean.java:156)
sun.reflect.GeneratedMethodAccessor257.invoke(Unknown Source)
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
java.lang.reflect.Method.invoke(Method.java:597)
javax.el.BeanELResolver.getValue(BeanELResolver.java:87)
javax.el.CompositeELResolver.getValue(CompositeELResolver.java:67)
org.apache.myfaces.el.unified.resolver.FacesCompositeELResolver.getValue(FacesCompositeELResolver.java:142)
org.apache.el.parser.AstValue.getValue(AstValue.java:169)
org.apache.el.ValueExpressionImpl.getValue(ValueExpressionImpl.java:189)
org.apache.myfaces.view.facelets.el.TagValueExpression.getValue(TagValueExpression.java:85)
org.apache.myfaces.view.facelets.component.UIRepeat.getValue(UIRepeat.java:246)
org.apache.myfaces.view.facelets.component.UIRepeat.getDataModel(UIRepeat.java:209)
org.apache.myfaces.view.facelets.component.UIRepeat._validateAttributes(UIRepeat.java:528)
org.apache.myfaces.view.facelets.component.UIRepeat.process(UIRepeat.java:578)
org.apache.myfaces.view.facelets.component.UIRepeat.encodeChildren(UIRepeat.java:1137)
javax.faces.component.UIComponent.encodeAll(UIComponent.java:609)
javax.faces.component.UIComponent.encodeAll(UIComponent.java:614)
javax.faces.component.UIComponent.encodeAll(UIComponent.java:614)
javax.faces.component.UIComponent.encodeAll(UIComponent.java:614)
org.apache.myfaces.view.facelets.FaceletViewDeclarationLanguage.renderView(FaceletViewDeclarationLanguage.java:1159)
org.apache.myfaces.application.ViewHandlerImpl.renderView(ViewHandlerImpl.java:263)
org.apache.myfaces.lifecycle.RenderResponseExecutor.execute(RenderResponseExecutor.java:85)
org.apache.myfaces.lifecycle.LifecycleImpl.render(LifecycleImpl.java:239)
javax.faces.webapp.FacesServlet.service(FacesServlet.java:191)
org.primefaces.webapp.filter.FileUploadFilter.doFilter(FileUploadFilter.java:79)
root cause

 com.mysql.jdbc.exceptions.MySQLNonTransientConnectionException: No operations    allowed    
 after connection closed.Connection was implicitly closed due to underlying exception/error:

这是我的hibernate.cfg.xml

代码语言:javascript
复制
   <hibernate-configuration>
  <session-factory name="">
    <property name="connection.driver_class">com.mysql.jdbc.Driver</property>
        <property name="connection.url">jdbc:mysql://192.168.1.200:3306            
  /chennai_volunteers</property>
       <!-- <property name="connection.url">jdbc:mysql://localhost:330          
      /chennai_volunteers</property> -->
    <property name="connection.username">root</property>
        <property name="connection.password">root</property>
  <property name="dialect">org.hibernate.dialect.MySQLDialect</property>
  <property name="current_session_context_class">thread</property>
     <property name="hibernate.connection.pool_size">100</property>
   <!-- start c3p0 connection properties -->
      <property name="c3p0.min_size">20</property>
    <property name="c3p0.max_size">500</property>
      <property name="c3p0.timeout">25200</property>
    <property name="c3p0.acquireRetryAttempts">30</property>
    <property name="c3p0.acquireIncrement">5</property>
   <property name="c3p0.idleConnectionTestPeriod">14400</property>
   <property name="c3p0.initialPoolSize">20</property>
 <property name="c3p0.maxPoolSize">300</property>
  <property name="c3p0.maxIdleTime">300</property>
 <property name="c3p0.maxStatements">200</property>
  <property name="c3p0.minPoolSize">10</property>
   </session-factory>
  </hibernate-configuration>

提前谢谢。

EN

回答 1

Stack Overflow用户

发布于 2012-06-05 14:22:42

请参阅此处MaxIdleTime in c3p0maxIdleTime设置

如果您希望连接一直存在,则需要将其设置为0 (默认值为0)。由于您在第二天早上将其设置为300秒,因此所有空闲连接都已被剔除。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/10892438

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档