2015-07-16 41 views
6

jest możliwe, aby uniemożliwić wykonanie ServletContainerInitializer z podanego słoika.Zapobieganie wykonywaniu ServletContainerInitializer lub jak korzystać z bezwzględnego rzędu

Chcę uniemożliwić wykonanie JerseyServletContainerInitializer.java, które jest dostarczane przez Glassfish 4.1 jako pakiet osgi (w jersey-container-servlet.jar).

Albo jak mogę użyć <absolute-order> pliku web.xml w celu wymuszenia załadowania ResteasyServletInitializer.java podanego w resteasy-servlet-initializer-3.0.11.Final.jar przed wykonaniem koszulki?

Nie rozumiem, jak można to osiągnąć za pomocą pliku web.xml. Również specyfikacja ServletContainerInitializer stanach:

W każdym przypadku, usługi ServletContainerInitializer z plików JAR fragmentów internetowej wyłączonych z bezwzględną zamawiającego musi być ignorowane i porządku, w którym usługi te zostały stwierdzone musi podążać classloading modelu delegowania aplikacji .

Próbowałem więc w moim glassfish-web.xml, ale bez efektu.

Proszę mnie o tym poprowadzić.

Cheers

(ps usuwania jersey-container-servlet.jar z GlassFish/modułów/folderu "działa")

Odpowiedz

0

Web fragment Zamawiający nie będzie działać, ponieważ jersey-pojemnik-servlet.jar nie jest prawdziwa internetowa fragment.

Ale następujące prace w Webogic 12.2, który wykorzystuje Jersey 2.

Tworzenie klasy dla aplikacji

package my.app; 

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

Rejestracja Rest Easy aplet z pełną nazwę tej klasy w web.xml

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

Nie uniemożliwi to wykonania usługi JerseyServletContainerInitializer, ale nie zarejestruje serwletu Jersey.

+0

Dziękuję za odpowiedź. Zajrzę do tego, gdy tylko dostanę czas. Nasze obecne "obejście", usunięcie pliku jersey-container-servlet.jar nie jest rozwiązaniem długotrwałym. – drame