2012-04-10 2 views
0

이 hibenate.config.xml을 구성했습니다 ... 그러나 DB 연결을 얻지 못한 몇 시간이 지난 후 ... MYSQL에서 wait-timeout은 기본 28800 또는 8 시간입니다 여기보다 적습니다. 그것에 대한 단서가 없습니다.Hibernate 3.0에서 8 시간 후에 연결을 gettting하지 않는다

<property name="connection.url">jdbc:mysql://11.243.188.53/XXX</property> 
    <property name="connection.driver_class">com.mysql.jdbc.Driver</property> 
    <property name="connection.username">admin</property> 
    <property name="connection.password">password1$</property> 
    <!-- Set AutoCommit to true --> 
    <property name="connection.autocommit"> false </property> 
    <property name="show_sql">true</property> 

    <!-- SQL Dialect to use. Dialects are database specific --> 
    <property name="dialect"> org.hibernate.dialect.MySQLDialect</property> 
    <property name="hibernate.hbm2ddl.auto">update</property> 




     <property name="hibernate.dbcp.maxActive">20</property> 
     <property name="hibernate.dbcp.maxIdle">10</property> 
     <property name="hibernate.dbcp.maxWait">-1</property> 
     <property name="hibernate.dbcp.whenExhaustedAction">2</property> 
     <property name="hibernate.dbcp.testOnBorrow">true</property> 
     <property name="hibernate.dbcp.testOnReturn">true</property> 
     <property name="hibernate.dbcp.validationQuery">SELECT 1</property> 
     <property name="hibernate.dbcp.testWhileIdle">true</property> 
     <property name="hibernate.dbcp.ps.maxActive">8</property> 
     <property name="hibernate.dbcp.ps.maxIdle">8</property> 
     <property name="hibernate.dbcp.ps.maxWait">60</property> 
     <property name="hibernate.dbcp.ps.whenExhaustedAction">1</property> 



     <!-- Disable second-level cache. --> 
    <property name="cache.provider_class">org.hibernate.cache.NoCacheProvider</property> 
    <property name="cache.use_query_cache">false</property> 
    <property name="cache.use_minimal_puts">false</property> 
    <property name="max_fetch_depth">3</property> 

몇 시간 후에도 DB 연결을 사용할 수 없습니다. java.net.SocketException의 :

에 의해 발생 :

org.hibernate.exception.JDBCConnectionException: could not execute query 
     at org.hibernate.exception.SQLStateConverter.convert(SQLStateConverter.java:74) 
     at org.hibernate.exception.JDBCExceptionHelper.convert(JDBCExceptionHelper.java:43) 
     at org.hibernate.loader.Loader.doList(Loader.java:2214) 
     at org.hibernate.loader.Loader.listIgnoreQueryCache(Loader.java:2095) 
     at org.hibernate.loader.Loader.list(Loader.java:2090) 
     at org.hibernate.loader.hql.QueryLoader.list(QueryLoader.java:388) 
     at org.hibernate.hql.ast.QueryTranslatorImpl.list(QueryTranslatorImpl.java:338) 
     at org.hibernate.engine.query.HQLQueryPlan.performList(HQLQueryPlan.java:172) 
     at org.hibernate.impl.SessionImpl.list(SessionImpl.java:1121) 
     at org.hibernate.impl.QueryImpl.list(QueryImpl.java:79) 
     at com.cts.bfstools.batch.admin.LoginAction.getUserData(LoginAction.java:365) 
     at com.cts.bfstools.batch.admin.LoginAction.getTenantList(LoginAction.java:168) 
     at com.cts.bfstools.batch.admin.LoginAction.populate(LoginAction.java:156) 
     at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 
     at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) 
     at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) 
     at java.lang.reflect.Method.invoke(Unknown Source) 
     at com.opensymphony.xwork2.DefaultActionInvocation.invokeAction(DefaultActionInvocation.java:452) 
    at com.opensymphony.xwork2.DefaultActionInvocation.invokeActionOnly(DefaultActionInvocation.java:291) 
    at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:254) 
    at com.opensymphony.xwork2.interceptor.DefaultWorkflowInterceptor.doIntercept(DefaultWorkflowInterceptor.java:176) 
    at com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:98) 
    at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:248) 
    at com.opensymphony.xwork2.validator.ValidationInterceptor.doIntercept(ValidationInterceptor.java:263) 
    at org.apache.struts2.interceptor.validation.AnnotationValidationInterceptor.doIntercept(AnnotationValidationInterceptor.java:68) 
    at com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:98) 
    at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:248) 
    at com.opensymphony.xwork2.interceptor.ConversionErrorInterceptor.intercept(ConversionErrorInterceptor.java:133) 
    at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:248) 
    at com.opensymphony.xwork2.interceptor.ParametersInterceptor.doIntercept(ParametersInterceptor.java:207) 
    at com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:98) 
    at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:248) 
    at com.opensymphony.xwork2.interceptor.ParametersInterceptor.doIntercept(ParametersInterceptor.java:207) 
    at com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:98) 
    at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:248) 
    at com.opensymphony.xwork2.interceptor.StaticParametersInterceptor.intercept(StaticParametersInterceptor.java:190) 
    at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:248) 
    at org.apache.struts2.interceptor.MultiselectInterceptor.intercept(MultiselectInterceptor.java:75) 
    at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:248) 
    at org.apache.struts2.interceptor.CheckboxInterceptor.intercept(CheckboxInterceptor.java:94) 
    at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:248) 
    at org.apache.struts2.interceptor.FileUploadInterceptor.intercept(FileUploadInterceptor.java:243) 
    at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:248) 
    at com.opensymphony.xwork2.interceptor.ModelDrivenInterceptor.intercept(ModelDrivenInterceptor.java:100) 
    at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:248) 
    at com.opensymphony.xwork2.interceptor.ScopedModelDrivenInterceptor.intercept(ScopedModelDrivenInterceptor.java:141) 
    at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:248) 
    at org.apache.struts2.interceptor.debugging.DebuggingInterceptor.intercept(DebuggingInterceptor.java:270) 
    at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:248) 
    at com.opensymphony.xwork2.interceptor.ChainingInterceptor.intercept(ChainingInterceptor.java:145) 
    at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:248) 
    at com.opensymphony.xwork2.interceptor.PrepareInterceptor.doIntercept(PrepareInterceptor.java:171) 
    at com.opensymphony.xwork2.interceptor.MethodFilterInterceptor.intercept(MethodFilterInterceptor.java:98) 
    at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:248) 
    at com.opensymphony.xwork2.interceptor.I18nInterceptor.intercept(I18nInterceptor.java:176) 
    at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:248) 
    at org.apache.struts2.interceptor.ServletConfigInterceptor.intercept(ServletConfigInterceptor.java:164) 
    at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:248) 
    at com.opensymphony.xwork2.interceptor.AliasInterceptor.intercept(AliasInterceptor.java:190) 
    at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:248) 
    at com.opensymphony.xwork2.interceptor.ExceptionMappingInterceptor.intercept(ExceptionMappingInterceptor.java:187) 
    at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:248) 
    at com.cts.bfsibp.twalk.action.CustomInterceptor.intercept(CustomInterceptor.java:38) 
    at com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:248) 
    at org.apache.struts2.impl.StrutsActionProxy.execute(StrutsActionProxy.java:52) 
    at org.apache.struts2.dispatcher.Dispatcher.serviceAction(Dispatcher.java:498) 
    at org.apache.struts2.dispatcher.FilterDispatcher.doFilter(FilterDispatcher.java:434) 
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235) 
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206) 
    at com.cts.bfsibp.twalk.action.TwalkFilter.doFilter(TwalkFilter.java:76) 
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235) 
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206) 
    at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233) 
    at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191) 
    at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127) 
    at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102) 
    at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109) 
    at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:298) 
    at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:859) 
    at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:588) 
    at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:489) 
    at java.lang.Thread.run(Unknown Source) 
Caused by: com.mysql.jdbc.exceptions.jdbc4.CommunicationsException: Communications link failure 

The last packet successfully received from the server was 250,154 milliseconds ago. The last packet sent successfully to the server was 0 milliseconds ago. 
    at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) 
    at sun.reflect.NativeConstructorAccessorImpl.newInstance(Unknown Source) 
    at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(Unknown Source) 
    at java.lang.reflect.Constructor.newInstance(Unknown Source) 
    at com.mysql.jdbc.Util.handleNewInstance(Util.java:406) 
    at com.mysql.jdbc.SQLError.createCommunicationsException(SQLError.java:1074) 
    at com.mysql.jdbc.MysqlIO.reuseAndReadPacket(MysqlIO.java:3030) 
    at com.mysql.jdbc.MysqlIO.reuseAndReadPacket(MysqlIO.java:2916) 
    at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3459) 
    at com.mysql.jdbc.MysqlIO.sendCommand(MysqlIO.java:1957) 
    at com.mysql.jdbc.MysqlIO.sqlQueryDirect(MysqlIO.java:2107) 
    at com.mysql.jdbc.ConnectionImpl.execSQL(ConnectionImpl.java:2648) 
    at com.mysql.jdbc.PreparedStatement.executeInternal(PreparedStatement.java:2086) 
    at com.mysql.jdbc.PreparedStatement.executeQuery(PreparedStatement.java:2237) 
    at org.hibernate.jdbc.AbstractBatcher.getResultSet(AbstractBatcher.java:186) 
    at org.hibernate.loader.Loader.getResultSet(Loader.java:1778) 
    at org.hibernate.loader.Loader.doQuery(Loader.java:662) 
    at org.hibernate.loader.Loader.doQueryAndInitializeNonLazyCollections(Loader.java:224) 
    at org.hibernate.loader.Loader.doList(Loader.java:2211) 
    ... 79 more 
Caused by: java.io.EOFException: Can not read response from server. Expected to read 4 bytes, read 0 bytes before connection was unexpectedly lost. 
    at com.mysql.jdbc.MysqlIO.readFully(MysqlIO.java:2475) 
    at com.mysql.jdbc.MysqlIO.reuseAndReadPacket(MysqlIO.java:2927) 
    ... 91 more 

하나 이상의 로그 ..

오류 로그를 찾아 .. 날 좀 도와주세요 소프트웨어는 연결 중단 원인 : 소켓 쓰기 오류 java.net.SocketOutputStream.socketWrite0 (네이티브 메서드) at java.net.SocketOutputStream.socketWrite (알 수없는 소스) at java.net.SocketOutputStream.write (알 수없는 소스)com.mysql.jdbc.MysqlIO.send에서 java.io.BufferedOutputStream.flush (알 소스)에 java.io.BufferedOutputStream.flushBuffer (알 소스)에 516,(MysqlIO.java:3272) ... (89)보다 당신이 후 최대 절전 모드 세션을 해제되지 않을 가능성이있다

+0

아무도 없습니다 ... – user1126046

+0

어디서 오류가 발생합니까? "DB 연결을 얻지 못했습니다."단순히 도움이되지 않습니다. –

+0

오류 로그를 추가했습니다. – user1126046

답변

0

당신의 그것으로 다 있습니다 .. OpenSessionInViewFilter를 사용해보십시오, factory.openSession()

나는 내가 일하고 있어요 프로젝트 중 하나에서 유사한 문제에 직면했다 사용하지 않는 on ... 원인을 알기 전에 stacktrace를 게시 할 수 있으면 매우 유용 할 것입니다.

+0

오류 로그를 업데이트했습니다. pls는이 코드를 보았습니다 – user1126046

+0

예외가 http://issues.liferay.com/browse/LPS-2769 또는 https ://와 일치하는지 확인할 수 있습니까? /forum.hibernate.org/viewtopic.php?f=1&t=943079&p=2440195#p2440195 예외가 발생한 이유는 두 가지입니다. –

+0

은 그 것처럼 보입니다.하지만 maxwait는 내 hibernate.config.xml에 -1로 설정되어 있습니다. – user1126046

0
<property name="testOnBorrow" value="true"/> 

또는

  <prop key="hibernate.dbcp.validationQuery">select 1</prop> 
      <prop key="hibernate.dbcp.testOnReturn">true</prop> 

위의 연결 당신이 풀에서 빌려 때마다 테스트됩니다

XML

에서 데이터베이스 연결 콩에 속성을 추가합니다.