接続を開けなかった例外のログと解析
このブログ記事は、突然のプロジェクト例外の個人的な分析です。
例外メッセージ
org.springframework.transaction.CannotCreateTransactionException: トランザクションのための Hibernate セッションを開くことができませんでした。
個人的な翻訳です。CannotCreateThingsException: トランザクションのためにHibernateセッションを開くことができませんでした。
ネストされた例外は org.hibernate.exception.GenericJDBCException.GenericJDBCException です。接続を開けませんでした。
個人的な翻訳です。接続を開くことができませんでした
上記のとおりです。例外の最初の理由はデータベース接続が確立できなかったことであり、その後、接続できない理由をさらに分析します。
例外メッセージです。
WARN org.hibernate.engine.jdbc.spi.SqlExceptionHelper - SQL Error: 0, SQLState: null
個人的な翻訳:警告の例外、無視してください。
ERROR org.hibernate.engine.jdbc.spi.SqlExceptionHelper - wait millis 60000, active 20, maxActive 20, creating 0
個人的な翻訳: sql exception, wait millis 60000, connection pool active 20, max connections 20
上図 さらに、接続プールが無料の接続を提供できないことが判明し、リクエストは例外をスローする前に60,000ミリ秒待機することになりました。
原因を分析する。
1. 同時並行性の高いリクエスト? そのプロジェクトはその日にアクティビティがあり、高い同時実行性がある可能性があります。
2. 接続が閉じられていない?さらなるトラブルシューティングが必要です
現在の解決策:サービスを再起動し、データベース接続プールの最大接続数を増やします。しかし、問題が治ったかは不明です。
以下の情報は、問題点を指摘したいお偉いさんのためのものです、ありがとうございました!
完全な例外メッセージ
2019-09-05 14:31:14,259 [http-bio-443-exec-1589] WARN org.hibernate.engine.jdbc.spi.SqlExceptionHelper - SQL Error: 0, SQLState: null
2019-09-05 14:31:14,259 [http-bio-443-exec-1589] ERROR org.hibernate.engine.jdbc.spi.SqlExceptionHelper - wait millis 60000, active 20, maxActive 20, creating 0
CannotCreateTransactionException: Could not open Hibernate Session for transaction; nested exception is org.springframework.transaction. GenericJDBCException: Could not open connection
at org.springframework.orm.hibernate4.HibernateTransactionManager.doBegin(HibernateTransactionManager.java:544)
at org.springframework.transaction.support.AbstractPlatformTransactionManager.getTransaction(AbstractPlatformTransactionManager. java:373)
at org.springframework.transaction.interceptor.TransactionAspectSupport.createTransactionIfNecessary(TransactionAspectSupport.java: 447)
at org.springframework.transaction.interceptor.TransactionAspectSupport.invokeWithinTransaction(TransactionAspectSupport.java:277)
at org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:96)
at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:179)
at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:213)
at com.sun.proxy.$Proxy227.getByOriginalId(Unknown Source)
at com.****.WxContext.getWxAccount(WxContext.java:199)
at com.***.WxContext.getOriginalId(WxContext.java:158)
at com.***.handler.SubscribeHandler.getWelcome(SubscribeHandler.java:128)
at com.***.handler.SubscribeHandler.reply(SubscribeHandler.java:107)
at com.***.handler.SubscribeHandler.handle(SubscribeHandler.java:63)
at me.chanjar.weixin.message.rule.WxMessageRouterRule.service(WxMessageRouterRule.java:228)
at me.chanjar.weixin.message.rule.WxMessageRouter.doRoute(WxMessageRouter.java:223)
at me.chanjar.weixin.message.rule.WxMessageRouter.routeMp(WxMessageRouter.java:159)
at com.***.gateway.WxCoreController.processRawEncrypt(WxCoreController.java:93)
at com.***.gateway.WxCoreController.wechat(WxCoreController.java:69)
at sun.reflect.GeneratedMethodAccessor1125.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at org.springframework.web.method.support.InvocableHandlerMethod.doInvoke(InvocableHandlerMethod.java:205)
at org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:133)
at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle( ServletInvocableHandlerMethod.java:97)
at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod( RequestMappingHandlerAdapter.java:827)
at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter. java:738)
at org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:85)
at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:967)
at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:901)
at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:970)
at org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:872)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:648)
at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:846)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:729)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:292)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:207)
at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:240)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:207)
at com.gomore.experiment.logging.TeeFilter.doFilter(TeeFilter.java:66)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:240)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:207)
at org.jeecgframework.core.aop.GZipFilter.doFilter(GZipFilter.java:93)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:240)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:207)
at com.alibaba.druid.support.http.WebStatFilter.doFilter(WebStatFilter.java:123)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:240)
at org.apache.catalina.core.
関連
-
Vueはeslintrc.jsファイルを設定することで、no-trailing-spacesやno-undefなどのコンパイル時のエラーを修正することができます。
-
null のプロパティ 'style' を読み取ることができない 問題
-
エラーです。反復不可能なfloatオブジェクトをアンパックできません
-
AVD システムパスが見つかりません。Please define ANDROID_SDK_ROOT この問題は、必ずしもパス設定にあるわけではありません。
-
予期しないトークン「()」付近の構文エラー 問題解決
-
avc: denied { read write }.
-
Ionic4 + vue 起動時のエラー Uncaught TypeError: 未定義またはNULLをオブジェクトに変換できない
-
コレクションが変更されたため、列挙操作が実行できない場合がある
-
cygwin many commands show command not foundの解決策。
-
Pythonがエラーを報告 循環的なインポートが原因である可能性が高い Solution
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
エラーです。アクセス制限です。タイプ 'OperatingSystemMXBean'はAPIではありません(必要なライブラリに制限があります)。
-
C++におけるconst_castの役割と理由
-
Android Studioアップデート後の警告 アプリがGoogle検索でインデックスされない
-
ternsflow AttributeError: __enter__
-
RabbitMQ起動時のトラブルと解決方法
-
mysql 切捨てられた不正なDOUBLE値 解決策
-
-bash: mysql: コマンドが見つかりません。
-
コマンドラインが長すぎる。...またはSpring Bootのデフォルト設定のためにコマンドラインを短くするか、Spring Bootのデフォルト設定のためにコマンドラインを短くする。
-
xcodeのコミットでgitを使用する際にヘルパーアプリケーションと通信できない場合の対処方法。
-
com.github.dcendents:android-maven-gradle-plugin:1.5 バージョンに対応します。