组合视图 统一视图 树状图
讨论主题 [ 上一个 | 下一个 ]
toggle
Vassilis Petropoulos
jsf libraries
2012年4月10日 上午9:29
答复

Vassilis Petropoulos

等级: Junior Member

帖子: 26

加入日期: 2012年4月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
David H Nebinger
RE: jsf libraries
2012年4月10日 上午9:44
答复

David H Nebinger

Community Moderator

等级: Liferay Legend

帖子: 8561

加入日期: 2006年9月1日

最近的帖子

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
2012年4月10日 下午12:59
答复

Vassilis Petropoulos

等级: Junior Member

帖子: 26

加入日期: 2012年4月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
Neil Griffin
RE: jsf libraries
2012年4月10日 下午2:11
答复

Neil Griffin

LIFERAY STAFF

等级: Liferay Legend

帖子: 2234

加入日期: 2005年7月26日

最近的帖子

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.