Cannot forward a response that is already committed
java.lang.IllegalStateException: Cannot forward a response that is already committed at weblogic.servlet.internal.RequestDispatcherImpl.forward(RequestDispatcherImpl.java:110) at org.apache.struts.action.RequestProcessor.doForward(RequestProcessor.java:439) at org.apache.struts.action.RequestProcessor.processActionForward(RequestProcessor.java:170) at org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:93) at org.apache.struts.action.ActionServlet.process(ActionServlet.java:1109) at org.apache.struts.action.ActionServlet.doGet(ActionServlet.java:452) at javax.servlet.http.HttpServlet.service(HttpServlet.java:743) at javax.servlet.http.HttpServlet.service(HttpServlet.java:856) at weblogic.servlet.internal.StubSecurityHelper$ServletServiceAction.run(StubSecurityHelper.java:227) at weblogic.servlet.internal.StubSecurityHelper.invokeServlet(StubSecurityHelper.java:125) at weblogic.servlet.internal.ServletStubImpl.execute(ServletStubImpl.java:283) at weblogic.servlet.internal.ServletStubImpl.execute(ServletStubImpl.java:175) at weblogic.servlet.internal.RequestDispatcherImpl.invokeServlet(RequestDispatcherImpl.java:530) at weblogic.servlet.internal.RequestDispatcherImpl.include(RequestDispatcherImpl.java:459) at weblogic.servlet.jsp.PageContextImpl.include(PageContextImpl.java:159) at weblogic.servlet.jsp.PageContextImpl.handlePageException(PageContextImpl.java:401) at weblogic.servlet.jsp.JspBase.service(JspBase.java:34) at weblogic.work.ExecuteThread.run(ExecuteThread.java:181) > ####<Oct 20, 2009 2:18:04 AM EDT> <Critical> <Health> <weblogic.GCMonitor> <<anonymous>> <> <> <1287555484427> <BEA-310003> <Free memory in the server is 9,979,338 bytes. There is danger of OutOfMemoryError>
The java.lang.IllegalStateException: Cannot forward a response that is already committed is referenced as follows:
When a servlet is first called, the response object is fresh and new: its headers have not been set, its buffers are empty, and no data has been written to the client.
However, as soon as either the status code or any of the headers have been written — or potentially written — to the client, or when data has been — or may have been — written to the body stream, then you may be susceptible to the IllegalStateException error.
The problem that this exception is signalling is the new data writing is inconsistent with the data that is already been set and then irretrievably sent (“committed”) to the client.
Therefore, the application code has to be reviewed in order to avoid those exceptions and check that those could be the cause of the warning’s about “Out of Memory“.
It is recommended to follow the coding practices suggested in the following documents to avoid memory leaks in your application.
JDBC - http://download-llnw.oracle.com/docs/cd/E13222_01/wls/docs100/jdbc/troubleshooting.html JNDI - http://download-llnw.oracle.com/docs/cd/E13222_01/wls/docs100/jndi/jndi.html#wp472853 JMS - http://download-llnw.oracle.com/docs/cd/E13222_01/wls/docs100/jms/implement.html#wp1194127
In case of any ©Copyright or missing credits issue please check CopyRights page for faster resolutions.