我很熟悉在Websphere 7中使用JSF 2時的類加載問題。我想知道在其他的fullstack應用程序服務器上是否存在類似的問題。怎麼樣JBoss 5+,WebLogi 10+等? JSF 2中是否有任何已知的問題,如果有的話,需要做些什麼才能讓JSF 2在這些服務器上運行?應用程序服務器中的JSF 2問題?
THX
我很熟悉在Websphere 7中使用JSF 2時的類加載問題。我想知道在其他的fullstack應用程序服務器上是否存在類似的問題。怎麼樣JBoss 5+,WebLogi 10+等? JSF 2中是否有任何已知的問題,如果有的話,需要做些什麼才能讓JSF 2在這些服務器上運行?應用程序服務器中的JSF 2問題?
THX
在WebSphere低於5.x高達你需要,只要你想捆綁,並用自己的JSF IMPL到WAR和EAR類加載器設置爲在WAS管理控制檯PARENT_LAST
當前8.x中/WEB-INF/lib
。
在JBoss 4.x中,使用當前的6.x,只需將以下上下文參數添加到/WEB-INF/web.xml
即可禁止JBoss內置的JSF部署程序。
<context-param>
<param-name>org.jboss.jbossfaces.WAR_BUNDLES_JSF_IMPL</param-name>
<param-value>true</param-value>
</context-param>
在GlassFish 2.X高達你需要將以下條目添加到/WEB-INF/sun-web.xml
當前3.X(與Glassfish的Eclipse的插件自動生成應的模板文件,如果你創建一個目標運行時配置Web項目到Glassfish)。
<class-loader delegate="false" />
<property name="useBundledJsf" value="true" />
關於Weblogic,對不起,我不知道,我從來沒有用過它。
在WebLogic中,WebLogic for JSF 2.0包含一個共享Java EE庫。通過部署描述符很容易使用和引用。
這很好,現在也許是未來兩年。但是,如果JSF 3被髮布呢?我是否必須恢復類加載器hirarchy(如在Websphere 7中隨JSF 1.2一起提供)才能在WEB-INF/lib中使用它? – tasel 2011-04-28 19:11:17
以下是Jeff提到的圖書館概念的簡要說明。 http://blog.eisele.net/2009/07/jsf-20-beta-1-on-oracle-weblogic-10gr3.html
看到最新的WLS 12c它仍然存在,但AFAIK你最終將不得不在未來恢復網絡應用類加載器,以支持這個概念。
Thx爲您的答案。與此同時,我能夠在這個問題上獲得一些經驗。看起來像使最新的JSF版本在全面的應用服務器上可用,總是需要擺弄機器類加載器。更糟糕的是:提供JSF的替代版本可能會影響供應商的支持...因此,您的供應商會看到,儘管您支付了大量資金,但由於使用了不受支持的JSF版本,因此不會獲得批准。因此,如果您使用的是商業應用服務器並希望保持您的支持:堅持使用舊的JSF版本,直到供應商發佈新版本。 – tasel 2012-05-07 09:16:15
Thx提示。在我看來,要求應用程序服務器隨JSF實現一起發佈以符合標準,並不是最好的想法,因爲供應商往往需要適齡來適應新標準。它在開發人員如何處理過時的實現方面造成了很多混亂。 – tasel 2011-04-28 19:16:50
不客氣。 – BalusC 2011-04-28 19:21:49