長年の Java EE 開発者として、私は MDC (Mapped Diagnostic Context) アプローチを使用して、リクエストに関連するコンテキスト データの受け渡しに対処してきました。そのリクエストの有効期間。
ThreadLocal に依存していることを考えると、非同期手法を使用すると、このアプローチが崩壊することは明らかです。
私はまだ Scala の学習の初期段階にあり、この質問により関連するのは Akka です。Akka と MDC の非互換性を確認するフォーラムへの投稿をたくさん読みましたが、何らかの方法で MDC アプローチを模倣するための一貫した戦略をまだ明らかにしていません。
アクター間で送信されるメッセージの一部として、この種のデータを明示的に渡すだけでよいのでしょうか? 汚い感じがしますが、同時に、楽にスケーリングできる機能と互換性があります。
メッセージを介して直接アクターにコンテキストを渡す方法はありますか? また、Play 2.0 Async ブロックを使用しているときに、この同じ課題に直面した人はいますか?