掲示板

jsf libraries

12年前 に Vassilis Petropoulos によって更新されました。

jsf libraries

Junior Member 投稿: 26 参加年月日: 12/04/10 最新の投稿
Hi,

where is the best place to put core jsf libs when deploying many applications?
Under each own WEB-INF/lib folder or under tomcat-6.0.26\lib\ext folder?

TIA,
Vassilis
thumbnail
12年前 に David H Nebinger によって更新されました。

RE: jsf libraries

Liferay Legend 投稿: 14916 参加年月日: 06/09/02 最新の投稿
The latter, especially if you have a bunch of JSF portlets. Putting it in each individual portlet will increase the memory consumed by each portlet as it will be loading it's own copy of the classes.
12年前 に Vassilis Petropoulos によって更新されました。

RE: jsf libraries

Junior Member 投稿: 26 参加年月日: 12/04/10 最新の投稿
hi,
thanks for your quick response!

In addition, what about portletfaces bridge libraries?
Should they be stored independently for each app or in one place for all??? For the latter, should I expect any class loading issues???

My situation -problematic- is as follows:
- Live production system - which cannot be easily touched/altered....
- cluster with 2 servers
- server A runs app1 and server B runs app1 and app2
- The WEB/lib dir exactly the same for the two apps
- server A works fine
- problematic behavior only for server B resulting: java.lang.ClassCastException: com.liferay.portlet.ResourceResponseImpl cannot be cast to javax.portlet.StateAwareResponse

From the logs, I have observed that the above error occurs when I have two -and more- almost concurrent ajax(?) requests for the two different apps. My first guess points to class loading issues. Do you agree? Do you have any other intuition?



thanks a lot
Vassilis
thumbnail
12年前 に Neil Griffin によって更新されました。

RE: jsf libraries

Liferay Legend 投稿: 2655 参加年月日: 05/07/27 最新の投稿
Would it be possible for you to try Liferay Faces Bridge 3.0.0-BETA1 in your test environment? There have been many changes since PortletFaces Bridge 2.0.x and there is a chance that your ClassCastException could go away, because the new bridge adheres more closely to the JSR 329 standard. I can't promise, but there is a chance.
http://www.liferay.com/community/liferay-projects/liferay-faces

A recommended practice would be to put common libraries in the global classpath if you can. Java EE compliant app servers like GlassFish and JBoss will include JSF (mojarra) in the global classpath out-of-the-box. For some JARs though it doesn't work and you have to put the JARs back in WEB-INF/lib. I recall that this was the case with ICEfaces 1.8 but I don't know if that got fixed for ICEfaces 2.x/3.x.