2015-07-16 3 views
6

ist es möglich, die Ausführung des ServletContainerInitializer eines bereitgestellten jar zu verhindern.Verhindern Sie die Ausführung von ServletContainerInitializer oder die Verwendung der absoluten Reihenfolge

Ich möchte die Ausführung von JerseyServletContainerInitializer.java verhindern, die von Glassfish 4.1 als ein osgi-Bündel (in jersey-container-servlet.jar) zur Verfügung gestellt wird.

Oder wie kann ich die <absolute-order> von web.xml verwenden Laden des ResteasyServletInitializer.java in resteasy-servlet-initializer-3.0.11.Final.jar vor der Ausführung des Gegen Jersey zur Verfügung gestellt zu erzwingen?

Ich verstehe nicht, wie dies mit der web.xml erreicht werden kann. Auch die Angabe ServletContainerInitializer Zustände:

In beiden Fällen von einer absoluten Ordnung ausgeschlossen ServletContainerInitializer Dienste von JAR-Dateien Web-Fragment müssen ignoriert werden, und die Reihenfolge, in der diese Dienste entdeckt werden, müssen die Classloading Delegierungsmodell der Anwendung folgen .

Ich habe daher versucht in meiner Glassfish-web.xml aber ohne Wirkung.

Bitte führen Sie mich auf diese.

Prost

(ps jersey-container-servlet.jar aus dem Glasfischen/modules/Ordner "Werke" zu entfernen)

Antwort

0

Web Fragment Bestellung wird nicht funktionieren, weil das Jersey-Behälter-servlet.jar keine echte Bahn Fragment.

Aber die folgenden Werke in Webogic 12.2, die Jersey 2.

erstellen Klasse für Ihre Anwendung verwendet

package my.app; 

public class MyJaxRSApplication extends javax.ws.rs.core.Application {} 

Register Rest Easy-Servlet mit dem voll qualifizierten Namen dieser Klasse in web.xml

<servlet> 
    <servlet-name>my.app.MyJaxRSApplication</servlet-name> 
    <servlet-class>org.jboss.resteasy.plugins.server.servlet.HttpServletDispatcher</servlet-class> 
</servlet> 

Dies verhindert nicht die Ausführung von JerseyServletContainerInitializer, aber das Jersey-Servlet wird nicht registriert.

+0

Vielen Dank für die Antwort. Sobald ich Zeit habe, werde ich mir das ansehen. Unser aktuelles "Workaround", das Löschen des Jersey-Container-Servlet.jar, ist wirklich keine langfristige Lösung. – drame

Verwandte Themen