Combination View Flat View Tree View
Threads [ Previous | Next ]
toggle
Vassilis Petropoulos
jsf libraries
April 10, 2012 9:29 AM
Answer

Vassilis Petropoulos

Rank: Junior Member

Posts: 26

Join Date: April 10, 2012

Recent Posts

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
David H Nebinger
RE: jsf libraries
April 10, 2012 9:44 AM
Answer

David H Nebinger

Rank: Liferay Legend

Posts: 7238

Join Date: September 1, 2006

Recent Posts

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
RE: jsf libraries
April 10, 2012 12:59 PM
Answer

Vassilis Petropoulos

Rank: Junior Member

Posts: 26

Join Date: April 10, 2012

Recent Posts

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
Neil Griffin
RE: jsf libraries
April 10, 2012 2:11 PM
Answer

Neil Griffin

LIFERAY STAFF

Rank: Liferay Legend

Posts: 2179

Join Date: July 26, 2005

Recent Posts

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.