Web サービスにアクセスすると、このエラーがランダムに発生します。複製するのは難しく、一度更新すると、すべてが期待どおりに機能します。
原因: org.hibernate.exception.JDBCConnectionException: クエリを実行できませんでした org.hibernate.exception.SQLStateConverter.convert (SQLStateConverter.java:97) で org.hibernate.exception.JDBCExceptionHelper.convert(JDBCExceptionHelper.java:66) で org.hibernate.loader.Loader.doList (Loader.java:2235) で org.hibernate.loader.Loader.listIgnoreQueryCache (Loader.java:2129) で org.hibernate.loader.Loader.list (Loader.java:2124) で org.hibernate.loader.criteria.CriteriaLoader.list (CriteriaLoader.java:118) で org.hibernate.impl.SessionImpl.list (SessionImpl.java:1597) で org.hibernate.impl.CriteriaImpl.list (CriteriaImpl.java:306) で edu.asd.myproj.hibernate.adapter.CriteriaAdapter.list (CriteriaAdapter.java:380) で edu.asd.myproj.DaoHibernateImpl.findByCriteria (DaoHibernateImpl.java:778) で edu.asd.myproj.DaoHibernateImpl.findByCriteria (DaoHibernateImpl.java:765) で edu.asd.myproj.DaoHibernateImpl.findByProperty (DaoHibernateImpl.java:361) で edu.asd.myproj.ProfilesDaoImpl.count (ProfilesDaoImpl.java:81) で sun.reflect.NativeMethodAccessorImpl.invoke0(ネイティブメソッド) sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) で sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) で java.lang.reflect.Method.invoke(Method.java:597) で org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:307) で org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:182) で org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:149) で org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:106) で org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:171) で org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:204) で $Proxy27.count で (不明なソース) edu.asd.myproj.ResourceProfileLoaderNew.loadProfiles (ResourceProfileLoaderNew.java:66) で sun.reflect.NativeMethodAccessorImpl.invoke0(ネイティブメソッド) sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) で sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) で java.lang.reflect.Method.invoke(Method.java:597) で org.springframework.beans.factory.annotation.InitDestroyAnnotationBeanPostProcessor$LifecycleElement.invoke(InitDestroyAnnotationBeanPostProcessor.java:297) で org.springframework.beans.factory.annotation.InitDestroyAnnotationBeanPostProcessor$LifecycleMetadata.invokeInitMethods(InitDestroyAnnotationBeanPostProcessor.java:250) で org.springframework.beans.factory.annotation.InitDestroyAnnotationBeanPostProcessor.postProcessBeforeInitialization(InitDestroyAnnotationBeanPostProcessor.java:144) で ... 50以上 原因: com.mysql.jdbc.exceptions.jdbc4.CommunicationsException: サーバーから正常に受信された最後のパケットは 44323 秒前でした。サーバーに正常に送信された最後のパケットは 44323 秒前でした。 wait_timeout'. この問題を回避するには、アプリケーションで使用する前に接続の有効性を期限切れにするかテストするか、クライアント タイムアウトのサーバー設定値を増やすか、Connector/J 接続プロパティ 'autoReconnect=true' を使用することを検討する必要があります。 sun.reflect.NativeConstructorAccessorImpl.newInstance0(ネイティブメソッド) sun.reflect.NativeConstructorAccessorImpl.newInstance (NativeConstructorAccessorImpl.java:39) で sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:27) で java.lang.reflect.Constructor.newInstance (Constructor.java:513) で com.mysql.jdbc.Util.handleNewInstance (Util.java:406) で com.mysql.jdbc.SQLError.createCommunicationsException (SQLError.java:1074) で com.mysql.jdbc.MysqlIO.send (MysqlIO.java:3246) で com.mysql.jdbc.MysqlIO.sendCommand (MysqlIO.java:1917) で com.mysql.jdbc.MysqlIO.sqlQueryDirect (MysqlIO.java:2060) で com.mysql.jdbc.ConnectionImpl.execSQL (ConnectionImpl.java:2542) で com.mysql.jdbc.PreparedStatement.executeInternal (PreparedStatement.java:1734) で com.mysql.jdbc.PreparedStatement.executeQuery (PreparedStatement.java:1885) で org.apache.commons.dbcp.DelegatingPreparedStatement.executeQuery (DelegatingPreparedStatement.java:93) で org.hibernate.jdbc.AbstractBatcher.getResultSet (AbstractBatcher.java:208) で org.hibernate.loader.Loader.getResultSet(Loader.java:1812) で org.hibernate.loader.Loader.doQuery (Loader.java:697) で org.hibernate.loader.Loader.doQueryAndInitializeNonLazyCollections (Loader.java:259) で org.hibernate.loader.Loader.doList (Loader.java:2232) で ... 79 以上 原因: java.net.SocketException: 壊れたパイプ java.net.SocketOutputStream.socketWrite0 (ネイティブ メソッド) で java.net.SocketOutputStream.socketWrite(SocketOutputStream.java:92) で java.net.SocketOutputStream.write(SocketOutputStream.java:136) で java.io.BufferedOutputStream.flushBuffer(BufferedOutputStream.java:65) で java.io.BufferedOutputStream.flush(BufferedOutputStream.java:123) で com.mysql.jdbc.MysqlIO.send (MysqlIO.java:3227) で ... 90以上
これは私のhibernate.propertiesファイルです
# Turn on for SQL debugging
hibernate.show_sql=true
# Generate schema?
hibernate.hbm2ddl.auto=validate
#============================================================
# C3P0 connection pool configuration
#============================================================
#changed to default values
c3p0.acquireIncrement=hibernate.c3p0.acquire_increment
c3p0.idleConnectionTestPeriod=hibernate.c3p0.idle_test_period
c3p0.initialPoolSize=10
c3p0.maxIdleTime=hibernate.c3p0.timeout
c3p0.maxPoolSize=hibernate.c3p0.max_size
c3p0.maxStatements=hibernate.c3p0.max_statements
c3p0.minPoolSize=hibernate.c3p0.min_size
c3p0.testConnectionsOnCheckout=hibernate.c3p0.validate
エラーはランダムに 1 回表示され、再表示されるまでに長い時間がかかります。更新すると消えます。