2017-05-02 3 views
0

Ich bin in einem Resteasy PreProcessInterceptor und benötigen einen Parameter zuzugreifen ich meine WAR web.xml konfiguriert haben in (entweder als init-param in der Servlet-Definition des Resteasy Servlet - wie here beschrieben - oder als context-param).Zugriff auf Kontext-Initialisierungsparameter von einem PreProcessInterceptor?

Wie erreiche ich das?

Alternativ, gibt es einen anderen Ort, an dem ich Parameter konfigurieren sollte, die ich meinen Interzeptoren zur Laufzeit zur Verfügung stellen muss?

Antwort

0

Was für mich funktionierte, ist das Folgende. In der Vergangenheit hatte ich meine PreProcessorInterceptorweb.xml in der Krieg wie folgt definiert:

<context-param> 
    <param-name>resteasy.providers</param-name> 
    <param-value>my.package.MyPreProcessorInterceptor</param-value>   
</context-param> 

zog ich es jetzt weg von der web.xml und legte sie in meinem Application wie folgt:

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; 
    } 

} 
Verwandte Themen