0

我正在开发一个 Spring Boot 应用程序,需要在 RxJava 线程中读取请求标头,但是由于新线程,注入 HttpServletRequest 不起作用。不需要将标头从当前线程传递到新线程。

代码流:控制器->服务->每个订单->(此代码产生新线程)Observable.just(invokeOrderService(orderNumber))->获取请求标头之类的httpRequest.getHeader("isApp")

我对方法一无所知。我所需要的只是在新创建的线程中可用的标题信息。

4

1 回答 1

0

首先,我建议使用spring响应式网络,你的生活会轻松很多。但是如果你必须使用带有 rxjava 的普通 spring web,你必须知道请求保存在 threadlocals 中,所以你只能在处理请求的同一个线程中访问它。但是,如果您愿意,您可以以上下文传播的形式将属性传递给 rxjava。您可以在此处找到更多信息: https ://github.com/reactive-contexts

于 2019-06-27T10:40:14.283 回答