我在RESTEasy PreProcessInterceptor中,需要访问我在WAR的web.xml中配置的参数(在RestEasy servlet的servlet定义中作为init-param
- 如上所述{ {3}} - 或context-param
)。
我如何实现这一目标?
或者,是否有其他地方我应该配置参数,我需要在运行时将其用于拦截器?
答案 0 :(得分:0)
对我有用的是以下内容。在过去,我在WAR web.xml
中定义了我的PreProcessorInterceptor,如下所示:
<context-param>
<param-name>resteasy.providers</param-name>
<param-value>my.package.MyPreProcessorInterceptor</param-value>
</context-param>
我现在将其从web.xml
移开并将其放在我的Application内,如下所示:
public class JaxRsApplication extends Application {
private Set<Object> singletons = new HashSet<>();
public JaxRsApplication(@Context ServletContext servletContext) {
Assert.assertNotNull(servletContext);
singletons.add( new MyPreProcessorInterceptor(servletContext) );
}
@Override
public Set<Object> getSingletons() {
return singletons;
}
}