You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@struts.apache.org by bu...@apache.org on 2002/04/24 21:24:38 UTC
DO NOT REPLY [Bug 8487] New: -
Serializability issues in ActionServlet/RequestProcessor
DO NOT REPLY TO THIS EMAIL, BUT PLEASE POST YOUR BUG
RELATED COMMENTS THROUGH THE WEB INTERFACE AVAILABLE AT
<http://nagoya.apache.org/bugzilla/show_bug.cgi?id=8487>.
ANY REPLY MADE TO THIS MESSAGE WILL NOT BE COLLECTED AND
INSERTED IN THE BUG DATABASE.
http://nagoya.apache.org/bugzilla/show_bug.cgi?id=8487
Serializability issues in ActionServlet/RequestProcessor
Summary: Serializability issues in ActionServlet/RequestProcessor
Product: Struts
Version: Nightly Build
Platform: Other
OS/Version: Other
Status: NEW
Severity: Normal
Priority: Other
Component: Controller
AssignedTo: struts-dev@jakarta.apache.org
ReportedBy: beskrowni@alumni.cmu.edu
We frequently get NotSerializableExceptions in WLS 6.1 for the following
classes:
ActionServlet
RequestProcessor
MessageResources
(we also get them for a couple of tiles classes too, but i'll submit that
separately...)
in some cases, this is easy to resolve, but in others --- not as easy.
In MessageResources, if you just make the log attribute transient, you're done.
You have to do the same for ActionServlet, but that's not enough.
ActionServlet also holds onto a RequestProcessor attribute and RequestProcessor
isn't Serializable. i'm not smart enough to know for sure if you can just make
the RequestProcessor attribute transient here, but if you make it Serializable,
it looks like then you'll have to make Action serializable as well, which may
not be a desired consequence.
Just for the reference, an example of one of the exception stacks we're seeing
is included below:
============================
java.io.NotSerializableException: org.apache.struts.action.RequestProcessor
at java.io.ObjectOutputStream.outputObject(ObjectOutputStream.java:1148)
at java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:366)
at weblogic.servlet.internal.AttributeWrapper.getObject(AttributeWrapper
.java:92)
at weblogic.servlet.internal.AttributeWrapper.getObject(AttributeWrapper
.java:64)
at weblogic.servlet.internal.WebAppServletContext.getAttribute(WebAppSer
vletContext.java:302)
at org.apache.struts.action.ActionServlet.getRequestProcessor(ActionServ
let.java:759)
at org.apache.struts.action.ActionServlet.process(ActionServlet.java:116
1)
at org.apache.struts.action.ActionServlet.doGet(ActionServlet.java:453)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:740)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
at weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubIm
pl.java:265)
at weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubIm
pl.java:200)
at weblogic.servlet.internal.WebAppServletContext.invokeServlet(WebAppSe
rvletContext.java:2456)
at weblogic.servlet.internal.ServletRequestImpl.execute(ServletRequestIm
pl.java:2039)
at weblogic.kernel.ExecuteThread.execute(ExecuteThread.java:139)
at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:120)
--
To unsubscribe, e-mail: <ma...@jakarta.apache.org>
For additional commands, e-mail: <ma...@jakarta.apache.org>