在我的Java Spring项目中,我使用
HttpServletRequest request = ((ServletRequestAttributes) RequestContextHolder
.getRequestAttributes())
.getRequest();
在静态方法中定义以获取请求并获取一些会话属性。 spring-RequestContextListener已存在于我的web.xml中。问题是当某个单线程调用时,现在一切都很好。
但是当使用java8 parallelStream时,RequestContextHolder.getRequestAttributes()
有时可能为空,我不知道为什么。
答案 0 :(得分:0)
您的项目是春季还是春季靴子? 如果是春季启动,则使用RequestContextListener或RequestContextFilter公开一个bean
@Bean
public RequestContextListener requestContextListener() {
return new RequestContextListener();
}
还请确保您没有任何用@EnableWebMvc注释的@Configuration类。这将删除spring boot的自动配置功能。</ p>