[Modern Backend] 講座のPart 1第7回の第2講義、「コンテキスト伝播のリファクタリング(2)」です。
今回の講義では、掲示板プロジェクトの並列実行区間(StructuredTaskScope)にScopedValueの自動継承メカニズムを適用し、非同期境界ごとのバインディングパターンと副作用のないリファクタリング戦略を扱います。
📌 主な学習内容:
-
並列実行区間でfork()を呼び出した際に、親スレッドのScopedValueバインディング状態が自動的に継承される仕組み
-
既存の非同期コードにおける手動コンテキスト伝達(set/clear)コードの削除および簡素化
-
RequestContext.get()のシグネチャを維持し、下位コンポーネント(VirusScanClient、Thumbnailer)のコードを修正せずに副作用を防止
-
ScopedValue自動伝播の限界と、さまざまな実行境界ごと(単体テスト、@Scheduledバッチ、@Asyncなど)のバインディングパターンの確認
-
7.6 単体テストの作成およびコンパイラーエラーの誘発による伝播検証の事前案内
仮想スレッドと構造化された並行性の環境で、別途手動作業を行うことなく安全にコンテキストを継承するModern Javaアーキテクチャを確認してみましょう。