在非响应式java中,我们使用ThreadLocal来传递Context数据,但是对于Reactor,Spring团队建议使用Reactor Context来将数据传播到线程。 在 Spring 文档中它说:
Reactor 项目引入了一种与函数式编程非常一致的机制,以提供传输上下文元数据的方法。它简称为上下文。尽管线程切换发生在幕后,但它仍然附着在反应链上。
我试图了解 Reactor Context 的实际工作原理。它仍然是一个仅传播到此流程中的每个线程的 ThreadLocal 还是其他东西?
在 Reactor 中,Context 本质上是一个随反应序列“旅行”的键值存储。