Details
-
Type: Bug
-
Status: Closed
-
Priority: Major
-
Resolution: Fixed
-
Affects Version/s: 1.8.2-EE-GA_P02
-
Fix Version/s: EE-1.8.2.GA_P03
-
Component/s: Framework
-
Labels:None
-
Environment:ICEFaces 1.8 P02, Spring webflow 1.0.5, WebSphere AS
Description
There are a couple of Spring Webflow related issues reported. This case details ongoing efforts in both.
What we have is an application that wont start in Websphere. Trying to load the initial page shows the following error in the log:
Caused by: java.lang.IllegalStateException: SRVE0199E: OutputStream already obtained
at com.ibm.ws.webcontainer.srt.SRTServletResponse.getWriter(SRTServletResponse.java:591)
at com.sun.facelets.FaceletViewHandler.createResponseWriter(FaceletViewHandler.java:414)
at com.sun.facelets.FaceletViewHandler.renderView(FaceletViewHandler.java:571)
at com.icesoft.faces.application.D2DViewHandler.renderView(D2DViewHandler.java:150)
at org.springframework.faces.webflow.JsfView.render(JsfView.java:97)
at org.springframework.webflow.engine.ViewState.render(ViewState.java:253)
at org.springframework.webflow.engine.ViewState.resume(ViewState.java:208)
at org.springframework.webflow.engine.Flow.resume(Flow.java:545)
at org.springframework.webflow.engine.impl.FlowExecutionImpl.resume(FlowExecutionImpl.java:259)
What we have is an application that wont start in Websphere. Trying to load the initial page shows the following error in the log:
Caused by: java.lang.IllegalStateException: SRVE0199E: OutputStream already obtained
at com.ibm.ws.webcontainer.srt.SRTServletResponse.getWriter(SRTServletResponse.java:591)
at com.sun.facelets.FaceletViewHandler.createResponseWriter(FaceletViewHandler.java:414)
at com.sun.facelets.FaceletViewHandler.renderView(FaceletViewHandler.java:571)
at com.icesoft.faces.application.D2DViewHandler.renderView(D2DViewHandler.java:150)
at org.springframework.faces.webflow.JsfView.render(JsfView.java:97)
at org.springframework.webflow.engine.ViewState.render(ViewState.java:253)
at org.springframework.webflow.engine.ViewState.resume(ViewState.java:208)
at org.springframework.webflow.engine.Flow.resume(Flow.java:545)
at org.springframework.webflow.engine.impl.FlowExecutionImpl.resume(FlowExecutionImpl.java:259)
I have changed the code in SeamUtilities so that instead of calling a getter on the SpringWebflowInstantiationServlet to fetch the flag, the SpringWebflowInstantiationServlet can now call a static setter on the SeamUtilities class. This prevents the order of operations error seen before. It's true that the SeamUtilities class is still loaded through a call chain from one of the other servlets, but I added a call to re-evaluate the Spring settings on startup and this works in WebSphere where we were having the problems.