WebSphere jest dostarczane z rodzicem jako ostatnim i rodzicem jako pierwszym. Czy ta Java EE jest zgodna? Czy jest to obsługiwane przez wszystkie serwery aplikacji zgodne z Java EE 5?Standard ładowania Java EE
Odpowiedz
zrobiłem moje własne badania (przejście przez specyfikacje i kilku blogach) i poniżej co ja wzorzysty
EAR
Spec nie definiuje ani mandatu, jak ładowarki klasy powinny pracować w ramach EAR. To jednak określa, że
- nie powinno być za wątku klasy loader kontekst do załadunku wykonawczego klas
- tam może być hierarchiczna mechanizm klasa loading rozwiązywania klas (producenci serwerów aplikacji mogą swobodnie realizować niezależnie od sposobu ich wyboru do)
- ładowacz klasy najwyższego poziomu (WAR/EAR) MAY delegować do ładowników klasy niskiego poziomu (takich jak Bootstrap, rozszerzenie itp). Jest to zgodne z modelem ładowarki klasa J2SE delegacji (PARENT_FIRST w WAS)
WAR
specyfikacji Servlet definiuje i nakazuje poparcie PARENT_LAST (tj WAR/WEB-INF/klas i wojny/web-inf/lib ma pierwszeństwo przed bibliotekami dołączonymi do serwera aplikacji) model ładowania klasy. Ale to tylko dla modułów WAR. Specyfikacja Servlet różni się od standardowego modelu delegowania J2SE parametru PARENT_FIRST w tym przypadku.
referencyjny
Spec: Servlet 2.3, sekcja: ClassLoader Zastosowanie 9.7.2 Web
Spec: Java EE 5, sekcja: EE.6.2.4.7 Kontekst Klasa Loader
App Specyfikacja serwera:
Co ciekawe, większość głównych serwerów aplikacji obsługuje mechanizm wyłączania delegacji w celu wyodrębnienia Aplikacja poczty z serwera aplikacji, jeśli jest to konieczne (z powodu konfliktów lub w inny sposób): WebSphere - "rodzic-ostatni", GlassFish - <class-loader delegate="false">
, JBoss - java2ParentDelegation=false
, Geronimo - <java2-delgation-model>false</java2-delegation-model>
Dobre informacje. Badałem to samo pytanie i doszedłem do podobnych wniosków. Pozostaje jedno pytanie: czy warto wybrać opcję Parent Last? Myślę, że tak będzie, ponieważ twoja aplikacja jest bardziej przenośna; nie jesteś zależny od bibliotek aplikacji Appserver. Osiągasz izolację aplikacji. Nie widzę ludzi polecających w ten czy w inny sposób. Czy spotkałeś się z takimi zaleceniami dotyczącymi najlepszych praktyk?
"Sądzę, że tak będzie, ponieważ twoja aplikacja jest bardziej przenośna, nie jesteś zależny od bibliotek Appserver, ale osiągasz izolację aplikacji." ---- To może działać lub nie. ponieważ nie ma standardu określonego przez specyfikację Na przykład http://stackoverflow.com/questions/4097567/jboss-and-different-versionsof-hibernate –
Oto jeszcze jeden scenariusz z próbą użycia JSF 2.0 z WAS 7 i używanie PARENT_LAST dla EAR i WAR. Wciąż próbujący używać myfaces sugeruje, że jest dostarczany z pakietem. Oczywiście udało mu się go rozwiązać, aktualizując aplikację EL do użytku, ale chodzi o to, że nie można zagwarantować, że wszystko będzie działać, nawet jeśli zmienisz politykę delegowania: http://stackoverflow.com/questions/3214373/websphere-7-js- 2-0 i classloaders –
- 1. Eclipse EE - Perspektywa Java EE Perspektywa Java Vs
- 2. Eclipse Java EE plugin
- 3. Modułowa aplikacja java ee
- 4. Błąd uruchamiania aplikacji Java EE
- 5. Uruchamianie środowiska Java EE MVC
- 6. Java EE 6 i alternatywy
- 7. Nauka Java EE, jboss, itp.
- 8. Drools Fusion i Java EE
- 9. Jak modelować w Java EE?
- 10. Wstrzyknięcie zależności Java EE 5?
- 11. jak wymawia się „J2EE” lub „Java EE”
- 12. Java EE Scheduler nie nazywa się
- 13. Jaki jest sens elewacji w Java EE?
- 14. jak utworzyć GUID w Java EE
- 15. Jak zaimportować klasy Java EE do Eclipse?
- 16. Relacja między JSP a Java EE
- 17. Jak utworzyć bezpieczną licencjonowaną aplikację Java EE?
- 18. jak utworzyć podklasę w Eclipse Java EE?
- 19. Web danych na żywo w Java EE
- 20. dynamiczne role na serwerze Java EE
- 21. Zagrożenie System.out.println w aplikacji Java EE
- 22. Java EE Security - Jaką metodę zastosować?
- 23. Czy Java EE 6 wszystko za darmo?
- 24. Wdrożenie Java EE w Intellij IDEA
- 25. Testy wydajności/wytrzymałościowe Aplikacje Java EE
- 26. Ramy jak Spring Security dla Java EE?
- 27. JAVA EE 6 współudział między stanową EJB
- 28. jak zaimplementować SAML za pomocą Java, Java EE
- 29. Ostateczna wersja tabeli Java (J2EE, Java EE, Servlet, JSP, JSTL)
- 30. Java Swing: Ekran ładowania modalnego?
Niezły. W Glassfish to btw 'delegat klasy ' w 'sun-web.xml', aby wyłączyć delegowanie. Zobacz także http://docs.sun.com/app/docs/doc/819-3659/beadf?l=en&a=view (zdjęcie) i http://docs.sun.com/app/docs/doc/821 -1752/beade? L = en & a = view –
BalusC