トラブルシューティングの記事一覧
トラブルシューティング に関する記事を 9 本まとめています。Spring Boot の実装・設計・運用の観点で関連テーマを横断して読めます。
-
Spring BootでHikariCPのコネクションリークを検出・デバッグする方法 - leakDetectionThresholdとスレッドダンプ解析
HikariCPのアクティブコネクション数が時間とともに増え続け枯渇していく症状から、leakDetectionThresholdの設定、警告ログの読み方、スレッドダンプとの突き合わせによるリーク箇所の特定、try-with-resourcesでの修正までを一気通貫で解説します。
-
Spring Bootの@ComponentScanでBeanが見つからない(NoSuchBeanDefinitionException)を解決する方法 - 複数モジュール構成とスキャン範囲の設定
別パッケージや別モジュールに置いたBeanが登録されずNoSuchBeanDefinitionExceptionになる原因を診断し、scanBasePackages指定・明示的@ComponentScan・マルチモジュール構成での解決方法をパターン別に解説します。
-
Spring Boot + MyBatisでINSERT後の自動採番ID(AUTO_INCREMENT)を取得する方法
MyBatisでINSERT実行後にDBが採番したAUTO_INCREMENT/IDENTITY値をJavaエンティティに反映する方法を、アノテーション方式とXML方式の両方で解説します。selectKeyによる代替実装や、IDが0/nullのまま返ってくる典型原因の切り分け方も紹介します。
-
Spring Boot + Flywayで「Validate failed」「checksum mismatch」が出た時の直し方 - flyway repairと本番復旧手順
FlywayのValidate failed: Detected failed migrationやchecksum mismatchで起動できなくなったSpring Bootアプリの復旧手順を解説。flyway repairの正しい使い方、本番で安易に叩いてはいけない理由、flyway_schema_historyの手動修正までを逆引き形式でまとめます。
-
Spring Boot + MyBatisで「Invalid bound statement (not found)」「Parameter 'xxx' not found」が出る原因と対処
Spring Boot 3.x + MyBatisで起きるBindingException(Invalid bound statement (not found) / Parameter 'name' not found)とMapperのbean未検出を、mapper-locations・namespace・@Param・-parameters・@MapperScanの順に切り分けて直す手順をまとめます。
-
Spring BootでHikariCPの「Failed to validate connection」「Connection is closed」が出る原因と対処 - maxLifetimeとkeepaliveTimeの決め方
HikariCP の Failed to validate connection や Connection is closed をプールの段階別に切り分け、DB と NW のタイムアウトから maxLifetime と keepaliveTime を決める方法、DB 再起動後に復旧しない原因の見方をまとめます。
-
Spring Bootで@Transactional・@Cacheable・@Asyncが効かない原因 - AOPプロキシとself-invocationを理解して解決する
@Transactionalを付けてもロールバックされない、@Cacheableが毎回DBに行く、@Asyncが同期で動く。これらは全てSpring AOPプロキシの仕組みが原因です。self-invocation・private/final・new・有効化漏れの5パターンを再現コードと診断手順で切り分け、別Bean切り出し・自己注入・TransactionTemplateなどの回避策を比較します。
-
Spring Boot + JPAのLazyInitializationExceptionを解決する方法 - 「could not initialize proxy - no Session」の原因と対処
Spring Data JPAで遅延ロードした関連にアクセスした瞬間に落ちるLazyInitializationException(could not initialize proxy - no Session)を、Hibernateセッションとトランザクション境界の仕組みから逆引きで解決。JOIN FETCH・@EntityGraph・DTO射影・@Transactionalの4つの正攻法を比較し、open-in-view=trueやEAGER化に逃げない判断軸を示します。
-
Spring Bootアプリが起動しない時の原因切り分けと対処法
『APPLICATION FAILED TO START』が出て焦っているあなたへ。Spring Boot 3.x前提に、ポート衝突・Bean重複・循環参照・DataSource未設定・プロファイルミスなど7つの典型パターンを症状から逆引きで解説。FailureAnalyzerメッセージの読み方と--debugフラグの使い方も実例つきでまとめました。