[Modern Backend]講座 Part 1 第7回の第3講義、「コンテキスト伝播リファクタリング (3)」の実習編です。
今回の講義では、これまで第6回と第7回で学習した設計理論をもとに、掲示板実習プロジェクトの既存のThreadLocalコードをJava 25のScoped Valueへ実際に移行するライブコーディング実習を行います。
📌 主な学習内容:
-
ステップ1:RequestContextホルダークラスのリファクタリング(ThreadLocalを削除した後、ScopedValueを宣言し、SYSTEM定数を定義、runWith / callWith / getOrSystem / isBoundを実装)
-
ステップ2:リクエストのエントリーポイントであるRequestContextFilterの修正(Servlet FilterでのScopedValueバインディング、およびChecked Exception/ジェネリック型推論の問題を解決)
-
ステップ3:ビジネスロジック(PostCreationCoordinator)のリファクタリング(構造化された並行性の中で不要となるset/clear/finallyの手動管理コードを削除)
-
構造化された並行性(StructuredTaskScope)と範囲値(ScopedValue)を組み合わせ、クリーンで安全なModern Javaバックエンドアーキテクチャを完成させます。
実務プロジェクトからThreadLocalを削除し、モダンJavaの並行性パラダイムへコードを移行する一連のライブコーディングの過程を、ぜひ実際に確認してみてください。