WebSphere首先帶有父親和父親。這個Java EE是否兼容?所有符合Java EE 5的應用程序服務器都支持它嗎?Java EE類加載標準
回答
我做我自己的研究(通過規範和一些博客會)和下面是我已經想通
EAR
該規範不定義或強制的類加載器應該如何工作在EAR內。然而,它定義了
- 應該有每個線程的上下文類加載器的類運行時加載
- 有可能是解決階級分層類加載機制(應用服務器廠商可以自由地實現他們選擇哪個方式)
- 頂級類加載器(WAR/EAR)可以委託給低級類加載器(如Bootstrap,擴展等)。這是符合J2SE類加載委託模型(PARENT_FIRST在WAS)
WAR
servlet規範定義,並授權一個PARENT_LAST的支持(即WAR/WEB-INF /類和WAR/web-inf/lib優先於應用服務器附帶的庫)類加載模型。但是這僅僅適用於WAR模塊。在這種情況下,Servlet規範偏離了PARENT_FIRST的標準J2SE委派模型。
參考
規格:Servlet 2.3的,科:9.7.2 Web應用程序類加載
規格:Java EE 5中,條:EE.6.2.4.7上下文類加載器
應用服務器細節
不過,有趣的是,它似乎大多數主要的應用程序服務器支持一些關閉代理隔離的機制從如有必要(因爲衝突或其他方式)的應用服務器E應用:的WebSphere - 「父母最後」,GlassFish的 - <class-loader delegate="false">
,JBoss的 - java2ParentDelegation=false
,Geronimo的 - <java2-delgation-model>false</java2-delegation-model>
良好的信息。我正在研究同樣的問題,並得出類似的結論。仍然存在的一個問題是,是否建議使用「最後一個選項」?我想會是因爲你的應用程序更具可移植性;你不依賴Appserver庫。您實現應用程序隔離。 我沒有看到有人推薦這種或那種方式。你有沒有遇到過這樣的最佳實踐建議?
」我認爲這會是因爲你的應用程序更具可移植性;你不依賴Appserver庫,你實現了應用程序隔離。「----它可能會也可能不會工作因爲規範沒有規定標準。對於例如http://stackoverflow.com/questions/4097567/jboss-and-different-versions-of-hibernate – 2010-11-19 04:16:58
這裏是另外1個嘗試使用JSF 2的場景。0與WAS 7和使用PARENT_LAST EAR和WAR。仍然試圖使用它與之捆綁在一起的myfaces impl。當然,他可以通過更新EL impl來解決問題,但重要的是,即使您切換委派政策,也無法保證所有工作都能正常工作:http://stackoverflow.com/questions/3214373/websphere-7-jsf- 2-0-和類加載器 – 2010-11-19 04:43:45
- 1. OSGi包加載:標準java類的NoClassDefFoundError
- 2. 以標準java啓動Java EE項目
- 3. 部署期間在WEB-INF/lib下自動加載Java EE類
- 4. Java EE應用程序的自定義類加載器編譯
- 5. Java EE部署中的Spring類加載機制
- 6. 默認Java EE Bean類型時,沒有標註添加
- 7. 找不到標準java類
- 8. .NET實現標準Java類
- 9. 加載Agda的標準庫
- 10. jQuery不加載IE9 - 標準?
- 11. Java類加載
- 12. 符合Java EE 6標準的基於請求的框架
- 13. ASP.NET在標準中沒有象Java EE那樣的對象池?
- 14. 哪個JBoss組件實現了哪個Java EE 6標準
- 15. AndroidStudio/gradle - 如何加載Dalvik類而不是標準的JDK類
- 16. Java EE 7中的Bean類
- 17. Java PKCS11加密標記的標準
- 18. 如何顯式調用標準java類加載器實現進行序列化?
- 19. java類加載器
- 20. 如何卸載Java標準庫
- 21. 重載標準編碼在Java中
- 22. Intellij在標準Java類上顯示非標準註釋?
- 23. Java標準_Question
- 24. WildFly 8/JBoss:調試Java EE類加載器鏈接錯誤的一般方法
- 25. FtpOutputStream或類似的標準Java
- 26. 用於FTP操作的標準Java類
- 27. Java標準版中有多少類?
- 28. 完成標準java類的活動
- 29. 作曲類映射和加載文件與非標準擴展
- 30. webpack標準加載器,jsx的問題?
不錯的一個。在Glassfish中,它是'sun-web.xml'中的',以關閉委派。另見http://docs.sun.com/app/docs/doc/819-3659/beadf?l=en&a=view(圖片)和http://docs.sun.com/app/docs/doc/821 「-1752/beade?l = en&a = view –
BalusC
2010-11-18 01:53:58