Hi, When we upgrade to resin3.1.4 from resin 2, we got the following error when we access a page:
java.lang.IllegalStateException: forward() not allowed after buffer has committed. [14:20:59.218] at com.caucho.server.webapp.RequestDispatcherImpl.forward(RequestDispatcherImpl.java:141) [14:20:59.218] at com.caucho.server.webapp.RequestDispatcherImpl.forward(RequestDispatcherImpl.java:108) [14:20:59.218] at org.apache.struts.action.RequestProcessor.doForward(RequestProcessor.java:1069) [14:20:59.218] at org.apache.struts.action.RequestProcessor.processForwardConfig(RequestProcessor.java:455) [14:20:59.218] at org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:279) [14:20:59.218] at org.apache.struts.action.ActionServlet.process(ActionServlet.java:1482) [14:20:59.218] at org.apache.struts.action.ActionServlet.doGet(ActionServlet.java:507) [14:20:59.218] at javax.servlet.http.HttpServlet.service(HttpServlet.java:114) [14:20:59.218] at javax.servlet.http.HttpServlet.service(HttpServlet.java:91) [14:20:59.218] at com.caucho.server.dispatch.ServletFilterChain.doFilter(ServletFilterChain.java:103) [14:20:59.218] at com.caucho.server.webapp.DispatchFilterChain.doFilter(DispatchFilterChain.java:97) [14:20:59.218] at com.caucho.server.dispatch.ServletInvocation.service(ServletInvocation.java:266) [14:20:59.218] at com.caucho.server.webapp.RequestDispatcherImpl.include(RequestDispatcherImpl.java:491) [14:20:59.218] at com.caucho.server.webapp.RequestDispatcherImpl.include(RequestDispatcherImpl.java:355) [14:20:59.218] at com.caucho.jsp.PageContextImpl.include(PageContextImpl.java:1002) [14:20:59.218] at _jsp._aaa._bbb._ccc__jsp._jspService(_ddd__jsp.java:128) ( <===== corresponding to ddd.jsp ) ...... In ddd.jsp, the line is <jsp:include page="/eee.do"></jsp:include> I debugged with resin 3.1.4 source code, and found that the exception is thrown from the following lines in the class RequestDispatcherImpl in package com.caucho.server.webapp: if (res.isCommitted() && method == null) { IllegalStateException exn; exn = new IllegalStateException("forward() not allowed after buffer has committed."); if (cauchoRes == null || ! cauchoRes.hasError()) { if (cauchoRes != null) cauchoRes.setHasError(true); throw exn; } _webApp.log(exn.getMessage(), exn); } One interesting thing is that when the jsp page is accessed for the first time, it is forwarded to the error page with such exception. However, the jsp page is correctly rendered in following requests even though the same exception is generated. Does anyone know the solution? Thanks. _______________________________________________ resin-interest mailing list resin-interest@caucho.com http://maillist.caucho.com/mailman/listinfo/resin-interest