作为一名长期的 Java EE 开发人员,我使用 MDC(映射诊断上下文)方法来处理与请求相关的上下文数据的传递,例如,用于跟踪在该请求的生命周期。
鉴于它依赖于 ThreadLocal,很明显这种方法在使用异步技术时会崩溃。
我仍处于学习 Scala 的早期阶段,与这个问题更相关的是 Akka。我阅读了大量论坛帖子,确认 Akka 和 MDC 不兼容,但尚未发现以某种方式模仿 MDC 方法的一致策略。
将此类数据作为在参与者之间发送的消息的一部分显式传递是最好的吗?它有点脏,但同时与轻松扩展的能力兼容。
除了直接通过消息之外,还有其他方法可以将上下文传递给 Actor 吗?另外,有没有人在使用 Play 2.0 Async 块时遇到过同样的挑战?