You are viewing a plain text version of this content. The canonical link for it is here.
Posted to user@struts.apache.org by mac1sam <me...@dovetailsystems.com> on 2011/05/05 21:59:25 UTC

could not deserialize the context attribute "org.apache.struts.action.ACTION_SERVLET" java.io.NotSerializableException

I am using struts 1.2 version and Weblogic 11g. This issue happens sometimes
during restart of the server. I searched various forums and couldn't figure
out the issue / solution. Let me give you a brief about the struts usage in
our project: I have subclassed both 'TilesRequestProcessor' and
'RededployableActionServlet' and I am using those custom classes. Following
is the log. I'll really appreciate if someone can help me out:

####<Jul 6, 2010 1:43:46 PM MEST> <Info> <HTTP> <dbkpmtna31.rze.de.db.com>
<stp_server2> <ExecuteThread: '15' for queue: 'weblogic.kernel.Default'>
<<anonymo
us>> <> <BEA-101047>
<[ServletContext(id=17363406,name=Europe,context-path=/Europe)] *.jsp:
initialization complete>
####<Jul 6, 2010 1:43:47 PM MEST> <Error> <HTTP> <dbkpmtna31.rze.de.db.com>
<stp_server2> <ExecuteThread: '15' for queue: 'weblogic.kernel.Default'>
<<anonym
ous>> <> <BEA-101309>
<[ServletContext(id=17363406,name=Europe,context-path=/Europe)] could not
deserialize the context attribute "org.apache.struts.action.A
CTION_SERVLET"
java.io.NotSerializableException:
com.mycom.webapp.CustomTilesRequestProcessor
at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1059)
at
java.io.ObjectOutputStream.defaultWriteFields(ObjectOutputStream.java:1337)
at java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:1309)
at
java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.java:1252)
at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1057)
at java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:278)
at
weblogic.servlet.internal.AttributeWrapper.convertObjectToBytes(AttributeWrapper.java:188)
at
weblogic.servlet.internal.AttributeWrapper.getObject(AttributeWrapper.java:158)
at
weblogic.servlet.internal.AttributeWrapper.getObject(AttributeWrapper.java:99)
at
weblogic.servlet.internal.WebAppServletContext.getAttribute(WebAppServletContext.java:645)
at org.apache.struts.taglib.html.FormTag.lookup(FormTag.java:715)
at org.apache.struts.taglib.html.FormTag.doStartTag(FormTag.java:419)
at org.apache.strutsel.taglib.html.ELFormTag.doStartTag(ELFormTag.java:267)
at
jsp_servlet._tiles.__payment_detail_actions._jspService(__payment_detail_actions.java:330)
at weblogic.servlet.jsp.JspBase.service(JspBase.java:33)
at
weblogic.servlet.internal.ServletStubImpl$ServletInvocationAction.run(ServletStubImpl.java:1072)
at
weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubImpl.java:465)
at
weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubImpl.java:526)
at
weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubImpl.java:348)
at
weblogic.servlet.internal.RequestDispatcherImpl.include(RequestDispatcherImpl.java:642)
at
weblogic.servlet.internal.RequestDispatcherImpl.include(RequestDispatcherImpl.java:423)
at weblogic.servlet.jsp.PageContextImpl.include(PageContextImpl.java:154)
at org.apache.struts.tiles.TilesUtilImpl.doInclude(TilesUtilImpl.java:101)
at org.apache.struts.tiles.TilesUtil.doInclude(TilesUtil.java:137)
at org.apache.struts.taglib.tiles.InsertTag.doInclude(InsertTag.java:758)
at
org.apache.struts.taglib.tiles.InsertTag$InsertHandler.doEndTag(InsertTag.java:890)
at org.apache.struts.taglib.tiles.InsertTag.doEndTag(InsertTag.java:460)
at
jsp_servlet._tiles._layouts.__payment_subcontent_layout._jspService(__payment_subcontent_layout.java:374)
at weblogic.servlet.jsp.JspBase.service(JspBase.java:33)
at
weblogic.servlet.internal.ServletStubImpl$ServletInvocationAction.run(ServletStubImpl.java:1072)
at
weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubImpl.java:465)
at
weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubImpl.java:526)
at
weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubImpl.java:348)
at
weblogic.servlet.internal.RequestDispatcherImpl.include(RequestDispatcherImpl.java:642)
at
weblogic.servlet.internal.RequestDispatcherImpl.include(RequestDispatcherImpl.java:423)
at weblogic.servlet.jsp.PageContextImpl.include(PageContextImpl.java:154)
at org.apache.struts.tiles.TilesUtilImpl.doInclude(TilesUtilImpl.java:101)
at org.apache.struts.tiles.TilesUtil.doInclude(TilesUtil.java:137)
at
weblogic.servlet.internal.ServletStubImpl$ServletInvocationAction.run(ServletStubImpl.java:1072)
at
weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubImpl.java:465)
at
weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubImpl.java:526)
at
weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubImpl.java:348)
at
weblogic.servlet.internal.RequestDispatcherImpl.include(RequestDispatcherImpl.java:642)
at
weblogic.servlet.internal.RequestDispatcherImpl.include(RequestDispatcherImpl.java:423)
at weblogic.servlet.jsp.PageContextImpl.include(PageContextImpl.java:154)
at org.apache.struts.tiles.TilesUtilImpl.doInclude(TilesUtilImpl.java:101)
at org.apache.struts.tiles.TilesUtil.doInclude(TilesUtil.java:137)
at org.apache.struts.taglib.tiles.InsertTag.doInclude(InsertTag.java:758)
at
org.apache.struts.taglib.tiles.InsertTag$InsertHandler.doEndTag(InsertTag.java:890)
at org.apache.struts.taglib.tiles.InsertTag.doEndTag(InsertTag.java:460)
at
jsp_servlet._tiles._layouts.__main_layout._jspService(__main_layout.java:851)
at weblogic.servlet.jsp.JspBase.service(JspBase.java:33)
at
weblogic.servlet.internal.ServletStubImpl$ServletInvocationAction.run(ServletStubImpl.java:1072)
at
weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubImpl.java:465)
at
weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubImpl.java:348)
at
weblogic.servlet.internal.RequestDispatcherImpl.forward(RequestDispatcherImpl.java:328)
at
org.apache.struts.action.RequestProcessor.doForward(RequestProcessor.java:1056)
at
org.apache.struts.tiles.TilesRequestProcessor.doForward(TilesRequestProcessor.java:261)
at
org.apache.struts.tiles.TilesRequestProcessor.processTilesDefinition(TilesRequestProcessor.java:237)
at
org.apache.struts.tiles.TilesRequestProcessor.processForwardConfig(TilesRequestProcessor.java:300)
at
com.mycom.webapp.CustomTilesRequestProcessor.processForwardConfig(CustomTilesRequestProcessor.java:55)
at
org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:231)
at org.apache.struts.action.ActionServlet.process(ActionServlet.java:1164)
at org.apache.struts.action.ActionServlet.doGet(ActionServlet.java:397)
at
com.mycom.webapp.CustomActionServlet.doGet(CustomActionServlet.java:26)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:740)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
at
weblogic.servlet.internal.ServletStubImpl$ServletInvocationAction.run(ServletStubImpl.java:1072)
at
weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubImpl.java:465)
at weblogic.servlet.internal.TailFilter.doFilter(TailFilter.java:28)
at
weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:27)
at com.mycom.webapp.ErrorFilter.doFilter(ErrorFilter.java:33)
at
weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:27)
at com.mycom.webapp.NavigationFilter.doFilter(NavigationFilter.java:61)
at
weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:27)
at com.mycom.webapp.GuiStatusFilter.doFilter(GuiStatusFilter.java:140)
at
weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:27)
at com.mycom.webapp.GuiTimeoutFilter.doFilter(GuiTimeoutFilter.java:134)
at
weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:27)
at com.mycom.webapp.LogonFilter.doFilter(LogonFilter.java:44)
at
weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:27)
at com.mycom.webapp.ExportFilter.doFilter(ExportFilter.java:65)
at
weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:27)
at com.mycom.webapp.AutoRefreshFilter.doFilter(AutoRefreshFilter.java:75)
at
weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:27)
at
weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.run(WebAppServletContext.java:6987)
at
weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:321)
at weblogic.security.service.SecurityManager.runAs(SecurityManager.java:121)
at
weblogic.servlet.internal.WebAppServletContext.invokeServlet(WebAppServletContext.java:3892)
at
weblogic.servlet.internal.ServletRequestImpl.execute(ServletRequestImpl.java:2766)
at weblogic.kernel.ExecuteThread.execute(ExecuteThread.java:224)
at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:183)


--
View this message in context: http://struts.1045723.n5.nabble.com/could-not-deserialize-the-context-attribute-org-apache-struts-action-ACTION-SERVLET-java-io-NotSerian-tp4373958p4373958.html
Sent from the Struts - User mailing list archive at Nabble.com.

---------------------------------------------------------------------
To unsubscribe, e-mail: user-unsubscribe@struts.apache.org
For additional commands, e-mail: user-help@struts.apache.org


Re: could not deserialize the context attribute "org.apache.struts.action.ACTION_SERVLET" java.io.NotSerializableException

Posted by Stefan Magnus Landrø <st...@gmail.com>.
Did some quick checking.

weblogic probably serializes your context  during shutdown.

however, the actionservlet is not serializable. Check source repository.

Why not use struts 2 instead of 1?

Cheers Stefan

-----------

A few more details:

public static final java.lang.String ACTION_SERVLET_KEY

The context attributes key under which our ActionServlet instance will
be stored.

org.apache.struts.action.ActionServlet

public static final
java.lang.StringACTION_SERVLET_KEY"org.apache.struts.action.ACTION_SERVLET"



On Thu, May 5, 2011 at 9:59 PM, mac1sam
<me...@dovetailsystems.com> wrote:
>
> I am using struts 1.2 version and Weblogic 11g. This issue happens sometimes
> during restart of the server. I searched various forums and couldn't figure
> out the issue / solution. Let me give you a brief about the struts usage in
> our project: I have subclassed both 'TilesRequestProcessor' and
> 'RededployableActionServlet' and I am using those custom classes. Following
> is the log. I'll really appreciate if someone can help me out:
>
> ####<Jul 6, 2010 1:43:46 PM MEST> <Info> <HTTP> <dbkpmtna31.rze.de.db.com>
> <stp_server2> <ExecuteThread: '15' for queue: 'weblogic.kernel.Default'>
> <<anonymo
> us>> <> <BEA-101047>
> <[ServletContext(id=17363406,name=Europe,context-path=/Europe)] *.jsp:
> initialization complete>
> ####<Jul 6, 2010 1:43:47 PM MEST> <Error> <HTTP> <dbkpmtna31.rze.de.db.com>
> <stp_server2> <ExecuteThread: '15' for queue: 'weblogic.kernel.Default'>
> <<anonym
> ous>> <> <BEA-101309>
> <[ServletContext(id=17363406,name=Europe,context-path=/Europe)] could not
> deserialize the context attribute "org.apache.struts.action.A
> CTION_SERVLET"
> java.io.NotSerializableException:
> com.mycom.webapp.CustomTilesRequestProcessor
> at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1059)
> at
> java.io.ObjectOutputStream.defaultWriteFields(ObjectOutputStream.java:1337)
> at java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:1309)
> at
> java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.java:1252)
> at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1057)
> at java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:278)
> at
> weblogic.servlet.internal.AttributeWrapper.convertObjectToBytes(AttributeWrapper.java:188)
> at
> weblogic.servlet.internal.AttributeWrapper.getObject(AttributeWrapper.java:158)
> at
> weblogic.servlet.internal.AttributeWrapper.getObject(AttributeWrapper.java:99)
> at
> weblogic.servlet.internal.WebAppServletContext.getAttribute(WebAppServletContext.java:645)
> at org.apache.struts.taglib.html.FormTag.lookup(FormTag.java:715)
> at org.apache.struts.taglib.html.FormTag.doStartTag(FormTag.java:419)
> at org.apache.strutsel.taglib.html.ELFormTag.doStartTag(ELFormTag.java:267)
> at
> jsp_servlet._tiles.__payment_detail_actions._jspService(__payment_detail_actions.java:330)
> at weblogic.servlet.jsp.JspBase.service(JspBase.java:33)
> at
> weblogic.servlet.internal.ServletStubImpl$ServletInvocationAction.run(ServletStubImpl.java:1072)
> at
> weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubImpl.java:465)
> at
> weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubImpl.java:526)
> at
> weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubImpl.java:348)
> at
> weblogic.servlet.internal.RequestDispatcherImpl.include(RequestDispatcherImpl.java:642)
> at
> weblogic.servlet.internal.RequestDispatcherImpl.include(RequestDispatcherImpl.java:423)
> at weblogic.servlet.jsp.PageContextImpl.include(PageContextImpl.java:154)
> at org.apache.struts.tiles.TilesUtilImpl.doInclude(TilesUtilImpl.java:101)
> at org.apache.struts.tiles.TilesUtil.doInclude(TilesUtil.java:137)
> at org.apache.struts.taglib.tiles.InsertTag.doInclude(InsertTag.java:758)
> at
> org.apache.struts.taglib.tiles.InsertTag$InsertHandler.doEndTag(InsertTag.java:890)
> at org.apache.struts.taglib.tiles.InsertTag.doEndTag(InsertTag.java:460)
> at
> jsp_servlet._tiles._layouts.__payment_subcontent_layout._jspService(__payment_subcontent_layout.java:374)
> at weblogic.servlet.jsp.JspBase.service(JspBase.java:33)
> at
> weblogic.servlet.internal.ServletStubImpl$ServletInvocationAction.run(ServletStubImpl.java:1072)
> at
> weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubImpl.java:465)
> at
> weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubImpl.java:526)
> at
> weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubImpl.java:348)
> at
> weblogic.servlet.internal.RequestDispatcherImpl.include(RequestDispatcherImpl.java:642)
> at
> weblogic.servlet.internal.RequestDispatcherImpl.include(RequestDispatcherImpl.java:423)
> at weblogic.servlet.jsp.PageContextImpl.include(PageContextImpl.java:154)
> at org.apache.struts.tiles.TilesUtilImpl.doInclude(TilesUtilImpl.java:101)
> at org.apache.struts.tiles.TilesUtil.doInclude(TilesUtil.java:137)
> at
> weblogic.servlet.internal.ServletStubImpl$ServletInvocationAction.run(ServletStubImpl.java:1072)
> at
> weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubImpl.java:465)
> at
> weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubImpl.java:526)
> at
> weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubImpl.java:348)
> at
> weblogic.servlet.internal.RequestDispatcherImpl.include(RequestDispatcherImpl.java:642)
> at
> weblogic.servlet.internal.RequestDispatcherImpl.include(RequestDispatcherImpl.java:423)
> at weblogic.servlet.jsp.PageContextImpl.include(PageContextImpl.java:154)
> at org.apache.struts.tiles.TilesUtilImpl.doInclude(TilesUtilImpl.java:101)
> at org.apache.struts.tiles.TilesUtil.doInclude(TilesUtil.java:137)
> at org.apache.struts.taglib.tiles.InsertTag.doInclude(InsertTag.java:758)
> at
> org.apache.struts.taglib.tiles.InsertTag$InsertHandler.doEndTag(InsertTag.java:890)
> at org.apache.struts.taglib.tiles.InsertTag.doEndTag(InsertTag.java:460)
> at
> jsp_servlet._tiles._layouts.__main_layout._jspService(__main_layout.java:851)
> at weblogic.servlet.jsp.JspBase.service(JspBase.java:33)
> at
> weblogic.servlet.internal.ServletStubImpl$ServletInvocationAction.run(ServletStubImpl.java:1072)
> at
> weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubImpl.java:465)
> at
> weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubImpl.java:348)
> at
> weblogic.servlet.internal.RequestDispatcherImpl.forward(RequestDispatcherImpl.java:328)
> at
> org.apache.struts.action.RequestProcessor.doForward(RequestProcessor.java:1056)
> at
> org.apache.struts.tiles.TilesRequestProcessor.doForward(TilesRequestProcessor.java:261)
> at
> org.apache.struts.tiles.TilesRequestProcessor.processTilesDefinition(TilesRequestProcessor.java:237)
> at
> org.apache.struts.tiles.TilesRequestProcessor.processForwardConfig(TilesRequestProcessor.java:300)
> at
> com.mycom.webapp.CustomTilesRequestProcessor.processForwardConfig(CustomTilesRequestProcessor.java:55)
> at
> org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:231)
> at org.apache.struts.action.ActionServlet.process(ActionServlet.java:1164)
> at org.apache.struts.action.ActionServlet.doGet(ActionServlet.java:397)
> at
> com.mycom.webapp.CustomActionServlet.doGet(CustomActionServlet.java:26)
> at javax.servlet.http.HttpServlet.service(HttpServlet.java:740)
> at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
> at
> weblogic.servlet.internal.ServletStubImpl$ServletInvocationAction.run(ServletStubImpl.java:1072)
> at
> weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubImpl.java:465)
> at weblogic.servlet.internal.TailFilter.doFilter(TailFilter.java:28)
> at
> weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:27)
> at com.mycom.webapp.ErrorFilter.doFilter(ErrorFilter.java:33)
> at
> weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:27)
> at com.mycom.webapp.NavigationFilter.doFilter(NavigationFilter.java:61)
> at
> weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:27)
> at com.mycom.webapp.GuiStatusFilter.doFilter(GuiStatusFilter.java:140)
> at
> weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:27)
> at com.mycom.webapp.GuiTimeoutFilter.doFilter(GuiTimeoutFilter.java:134)
> at
> weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:27)
> at com.mycom.webapp.LogonFilter.doFilter(LogonFilter.java:44)
> at
> weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:27)
> at com.mycom.webapp.ExportFilter.doFilter(ExportFilter.java:65)
> at
> weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:27)
> at com.mycom.webapp.AutoRefreshFilter.doFilter(AutoRefreshFilter.java:75)
> at
> weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:27)
> at
> weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.run(WebAppServletContext.java:6987)
> at
> weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:321)
> at weblogic.security.service.SecurityManager.runAs(SecurityManager.java:121)
> at
> weblogic.servlet.internal.WebAppServletContext.invokeServlet(WebAppServletContext.java:3892)
> at
> weblogic.servlet.internal.ServletRequestImpl.execute(ServletRequestImpl.java:2766)
> at weblogic.kernel.ExecuteThread.execute(ExecuteThread.java:224)
> at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:183)
>
>
> --
> View this message in context: http://struts.1045723.n5.nabble.com/could-not-deserialize-the-context-attribute-org-apache-struts-action-ACTION-SERVLET-java-io-NotSerian-tp4373958p4373958.html
> Sent from the Struts - User mailing list archive at Nabble.com.
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: user-unsubscribe@struts.apache.org
> For additional commands, e-mail: user-help@struts.apache.org
>



--
BEKK Open
http://open.bekk.no

---------------------------------------------------------------------
To unsubscribe, e-mail: user-unsubscribe@struts.apache.org
For additional commands, e-mail: user-help@struts.apache.org