[Modern Backend] 講座 Part 1 第7回の第1講義、「コンテキスト伝播のリファクタリング(1)」です。
今回の講義では、掲示板プロジェクトの既存のThreadLocalベースのコンテキスト伝播ロジックを、Java 25のスコープ値(ScopedValue)ベースの構造へ移行するための対象分析と設計リファクタリングを行います。
📌 主な学習内容:
-
リファクタリング対象となる4つのファイルの確認(RequestContext、RequestContextFilter、PostCreationCoordinatorなど)
-
5段階のリファクタリング手順と、コンパイルエラーを基にした誘導方式
-
既存のThreadLocalコード構造の分析と、開発者の慣習(set/clear)に依存していた手動管理箇所(4か所)の確認
-
RequestContextホルダー内部をScopedValueベースへ移行し、APIメソッドを拡張
runWith,callWith,getOrSystemなど) -
Webリクエストのエントリーポイント(Servlet Filter)をScoped Valueのスコープバインディング構造に置き換え
-
Servlet Filter内の
runWith/callWithの使用時に発生する可能性のあるChecked ExceptionとJavaの型推論コンパイルエラーを解決する原理
既存のThreadLocalの構造的な限界を乗り越え、安全にコンテキストを伝播するModern Javaアーキテクチャのリファクタリング過程を確認してみてください。