Fórum

jsf libraries

Vassilis Petropoulos, modificado 11 Anos atrás.

jsf libraries

Junior Member Postagens: 26 Data de Entrada: 10/04/12 Postagens Recentes
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
David H Nebinger, modificado 11 Anos atrás.

RE: jsf libraries

Liferay Legend Postagens: 14914 Data de Entrada: 02/09/06 Postagens Recentes
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.
Vassilis Petropoulos, modificado 11 Anos atrás.

RE: jsf libraries

Junior Member Postagens: 26 Data de Entrada: 10/04/12 Postagens Recentes
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
Neil Griffin, modificado 11 Anos atrás.

RE: jsf libraries

Liferay Legend Postagens: 2655 Data de Entrada: 27/07/05 Postagens Recentes
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.