Skip to main content

[webtier] Mixing Woodstock and ICEfaces WARs in one EAR breaks

2 replies [Last post]
Anonymous

Hello all,

I'm doing a project that currently has a Woodstock WAR inside of my EAR. All
is fine and dandy, and I want to put in a ICEfaces WAR now to implement a
new set of functionality (we are deciding which framework to use, planning
on implementing a full set of business features with each JSF framework).

For simplicitly, Ill refer to the enterprise app as EAR, and each war as
Woodstock.WAR and ICEfaces.WAR.

What works:

EAR (common libs in root)
Woodstock.WAR (woodstock impl libs in WEB-INF/lib, sun-web.xml
delegate="false")

EAR (common libs in root)
ICEfaces.WAR (icefaces impl libs in WEB-INF/lib, sun-web.xml
delegate="false" OR delegate="true")

What doesnt work:

EAR (common libs in root)
Woodstock.WAR (impl libs in WEB-INF/lib, BROKEN IN THIS CONFIGURATION)
ICEfaces.WAR (impl libs in WEB-INF/lib, sun-web.xml delegate="false" OR
delegate="true")

Despite changing the classloader delegate value for the ICEfaces.WAR, the
Woodstock.WAR fails to function properly. Glassfish reports the EAR and both
WARs as being deployed, and JSF 1.2 initialized for each web app context
when deploying; but when visiting the Woodstock.WAR, the following exception
is thrown:

[#|2008-06-27T22:37:20.312-0400|SEVERE|sun-appserver9.1|javax.enterprise.sys
tem.container.web|_ThreadID=16;_ThreadName=httpSSLWorkerThread-6080-1;_Reque
stID=76a57f5d-3946-4030-92b9-0fdf1ca05865;|StandardWrapperValve[Faces
Servlet]: PWC1406: Servlet.service() for servlet Faces Servlet threw
exception
com.sun.rave.web.ui.appbase.ApplicationException: ICEfaces requires the
PersistentFacesServlet. Please check your web.xml servlet mappings
at
com.sun.rave.web.ui.appbase.faces.ViewHandlerImpl.cleanup(ViewHandlerImpl.ja
va:594)
at
com.sun.rave.web.ui.appbase.faces.ViewHandlerImpl.renderView(ViewHandlerImpl
.java:325)
at
com.icesoft.faces.application.D2DViewHandler.renderView(D2DViewHandler.java:
153)
at
com.sun.faces.lifecycle.RenderResponsePhase.execute(RenderResponsePhase.java
:106)
at com.sun.faces.lifecycle.LifecycleImpl.phase(LifecycleImpl.java:251)
at com.sun.faces.lifecycle.LifecycleImpl.render(LifecycleImpl.java:144)
at
com.sun.faces.extensions.avatar.lifecycle.PartialTraversalLifecycle.render(P
artialTraversalLifecycle.java:106)
at javax.faces.webapp.FacesServlet.service(FacesServlet.java:245)
at
org.apache.catalina.core.ApplicationFilterChain.servletService(ApplicationFi
lterChain.java:411)
at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Application
FilterChain.java:317)
at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterCh
ain.java:198)
at com.sun.webui.jsf.util.UploadFilter.doFilter(UploadFilter.java:267)
at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Application
FilterChain.java:230)
at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterCh
ain.java:198)
at
org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.ja
va:288)
at
org.apache.catalina.core.StandardContextValve.invokeInternal(StandardContext
Valve.java:271)
at
org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.ja
va:202)
at
org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:632
)
at
org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:577
)
at com.sun.enterprise.web.WebPipeline.invoke(WebPipeline.java:94)

As you can see, the Woodstock.WAR is somehow attempting to use the ICEfaces
Persistent Servlet impl classes. Interestingly, if I include both WARs
inside the EAR, but comment out the application.xml module for the
ICEfaces.WAR so it is not deployed, this Exception STILL occurs. If the
ICEfaces.WAR is present in the EAR, it appears that its WEB-INF/lib is
ALWAYS loaded and puts those impl classes somewhere early on the classpath
causing issues with the Woodstock.WAR

As a note, the behavior of delegate="false" would probably accomplish what I
want if it worked inside Woodstock.WAR. However, I cannot make any
configuration of libs work that will allow Woodstock.WAR to deploy with
delegate="false".

This is true with ICEfaces completely taken out of the picture. I.E, under
no circumstances can I seem to make a Woodstock WAR deploy with
delegate="false".

Does anyone know to make this attribute work with Woodstock? Or any other
solution to this problem? This problem is preventing me from moving forward
on this project at the moment

Thanks

Alex Sherwin

alex.sherwin@acadiasoft.com

Alex Sherwin

alex.sherwin@acadiasoft.com

[att1.html]

Reply viewing options

Select your preferred way to display the comments and click "Save settings" to activate your changes.
rogerk
Offline
Joined: 2004-05-06

Hello Alex,

Have you solved your problem? I noticed your post to the ICEfaces forum:

http://www.icefaces.org/JForum/posts/list/8915.page;jsessionid=7B982DF8D...

Alex Sherwin

Hello,

Yes I have resolved this issue. It was simply the ICEFaces implementation of the faces classes inside icefaces.jar causing the problem. I'm able to mix Woodstock/ICEfaces WARs into a single EAR, all utilizing the same set of libs inside the root of the EAR with the icefaces libs (using just-ice.jar) and Woodstock libs.

I apologize for even resorting to the mailing list, since it was such an obvious fix.

Thank you for checking

Alex Sherwin
alex.sherwin@acadiasoft.com

-----Original Message-----
From: webtier@javadesktop.org [mailto:webtier@javadesktop.org]
Sent: Thursday, July 10, 2008 3:34 PM
To: webtier@glassfish.dev.java.net
Subject: Re: [webtier] Mixing Woodstock and ICEfaces WARs in one EAR breaks

Hello Alex,

Have you solved your problem? I noticed your post to the ICEfaces forum:

http://www.icefaces.org/JForum/posts/list/8915.page;jsessionid=7B982DF8D...
[Message sent by forum member 'rogerk' (rogerk)]

http://forums.java.net/jive/thread.jspa?messageID=285784

---------------------------------------------------------------------
To unsubscribe, e-mail: webtier-unsubscribe@glassfish.dev.java.net
For additional commands, e-mail: webtier-help@glassfish.dev.java.net

---------------------------------------------------------------------
To unsubscribe, e-mail: webtier-unsubscribe@glassfish.dev.java.net
For additional commands, e-mail: webtier-help@glassfish.dev.java.net