我正在使用带有 Spring 的 Jersey 1.13。我有一个 ContextResolver 定义如下:
@Provider
public class ThemeSourceContextResolver implements ContextResolver<ThemeSource> {
@Context private HttpServletRequest request;
@Override
public ThemeSource getContext(Class<?> type) {
return new DefaultThemeSource(request);
}
}
<bean id="themeSourceContextResolver" scope="singleton" class="com.example.ThemeSourceContextResolver" />
以上有效吗?@Context private HttpServletRequest request
具体来说,在 ContextResolver中使用它是否“合法”(或有意义) ?由于 ContextResolver 是一个单例,Jersey/JAX-RS 是否会做一些线程本地代理魔术或其他什么来允许它访问每个请求的 HttpServletRequest?