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 にアクセスできるようにしますか?