How can I easily see which object this is?
Li Ying wrote: > > I think you can fix this problem by making your class serializable. > > And it is not strange if this happens in WebLogic but not in Tomcat. > > According to the Exception Stack, I guess the cause of this Exception is: > (1)You putted some object into the session. > (2)You are trying to retrieve it from the session lately. > (3)weblogic.servlet.internal.session.SessionData.getAttribute is > called, and it calls: > (4)weblogic.common.internal.PassivationUtils.copy method, > and it calls: > (5)weblogic.common.internal.PassivationUtils.toByteArray, > and it calls: > (6)java.io.ObjectOutputStream.writeObject method. > It try to write your object into a stream, but your object is not > serializable. So the exception is thrown. > > > This looks like happening under the implement code of Session > management of WebLogic. > Tomcat don't thrown this Exception, maybe because when it get object > from the session, it don't try to make a copy. > > > But, In my opinion, putting an unserializable object into the session > could cause a potential problem, because sometimes the session data > need to be dumped into hard disk file, or to be transferred between > app servers. If your object is not Serializable, these operation will > fail. > > > 2010/11/17 Struts Newbie <stefaan.som...@gmail.com>: >> >> We have a portlet running within the Liferay-container on WebLogic, that >> is >> giving the stacktrace hereunder : >> The strange thing is the fact that this application is working without >> any >> problem within the Tomcat-container. >> >> StackTrace : >> java.io.NotSerializableException: >> org.apache.struts2.portlet.PortletRequestMap >> at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1156) >> at >> java.io.ObjectOutputStream.defaultWriteFields(ObjectOutputStream.java:1509) >> at >> java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:1474) >> at >> java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.java:1392) >> at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1150) >> at java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:326) >> at java.util.ArrayList.writeObject(ArrayList.java:570) >> at sun.reflect.GeneratedMethodAccessor37.invoke(Unknown Source) >> at >> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) >> at java.lang.reflect.Method.invoke(Method.java:597) >> at >> java.io.ObjectStreamClass.invokeWriteObject(ObjectStreamClass.java:945) >> at >> java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:1461) >> at >> java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.java:1392) >> at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1150) >> at >> java.io.ObjectOutputStream.defaultWriteFields(ObjectOutputStream.java:1509) >> at >> java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:1474) >> at >> java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.java:1392) >> at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1150) >> at java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:326) >> at >> weblogic.common.internal.PassivationUtils.toByteArray(PassivationUtils.java:33) >> at >> weblogic.common.internal.PassivationUtils.toByteArray(PassivationUtils.java:24) >> at >> weblogic.common.internal.PassivationUtils.copy(PassivationUtils.java:64) >> at >> weblogic.servlet.internal.AttributeWrapper.getObject(AttributeWrapper.java:89) >> at >> weblogic.servlet.internal.AttributeWrapper.getObject(AttributeWrapper.java:39) >> at >> weblogic.servlet.internal.session.SessionData.getAttribute(SessionData.java:805) >> at >> com.liferay.util.servlet.SharedSessionWrapper.getAttribute(SharedSessionWrapper.java:67) >> at >> com.liferay.portlet.PortletSessionImpl.getAttribute(PortletSessionImpl.java:110) >> at >> com.liferay.portlet.PortletSessionImpl.getAttribute(PortletSessionImpl.java:97) >> at >> com.liferay.portlet.PortletSessionImpl.getAttributeMap(PortletSessionImpl.java:129) >> at >> com.liferay.portlet.PortletSessionImpl.getAttributeMap(PortletSessionImpl.java:118) >> at >> com.liferay.portal.servlet.taglib.portlet.DefineObjectsTagUtil.doStartTag(DefineObjectsTagUtil.java:93) >> at sun.reflect.GeneratedMethodAccessor396.invoke(Unknown Source) >> at >> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) >> at java.lang.reflect.Method.invoke(Method.java:597) >> at >> com.liferay.portal.kernel.util.MethodInvoker.invoke(MethodInvoker.java:81) >> at >> com.liferay.portal.kernel.util.MethodInvoker.invoke(MethodInvoker.java:51) >> at >> com.liferay.taglib.portlet.DefineObjectsTag.doStartTag(DefineObjectsTag.java:51) >> at >> jsp_servlet._html._common._themes.__portlet._jspService(__portlet.java:771) >> at weblogic.servlet.jsp.JspBase.service(JspBase.java:34) >> 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:292) >> at >> weblogic.servlet.internal.ServletStubImpl.execute(ServletStubImpl.java:175) >> at >> weblogic.servlet.internal.RequestDispatcherImpl.invokeServlet(RequestDispatcherImpl.java:499) >> at >> weblogic.servlet.internal.RequestDispatcherImpl.include(RequestDispatcherImpl.java:429) >> at weblogic.servlet.jsp.PageContextImpl.include(PageContextImpl.java:163) >> at org.apache.struts.tiles.TilesUtilImpl.doInclude(TilesUtilImpl.java:99) >> at org.apache.struts.tiles.TilesUtil.doInclude(TilesUtil.java:135) >> at org.apache.struts.taglib.tiles.InsertTag.doInclude(InsertTag.java:760) >> at >> org.apache.struts.taglib.tiles.InsertTag$InsertHandler.doEndTag(InsertTag.java:892) >> at org.apache.struts.taglib.tiles.InsertTag.doEndTag(InsertTag.java:462) >> at >> jsp_servlet._html._portal.__render_portlet._jspService(__render_portlet.java:1984) >> at weblogic.servlet.jsp.JspBase.service(JspBase.java:34) >> 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:292) >> at >> weblogic.servlet.internal.ServletStubImpl.execute(ServletStubImpl.java:175) >> at >> weblogic.servlet.internal.RequestDispatcherImpl.invokeServlet(RequestDispatcherImpl.java:499) >> at >> weblogic.servlet.internal.RequestDispatcherImpl.include(RequestDispatcherImpl.java:429) >> at com.liferay.portal.util.PortalImpl.renderPortlet(PortalImpl.java:3170) >> at com.liferay.portal.util.PortalUtil.renderPortlet(PortalUtil.java:1042) >> at >> com.liferay.portlet.layoutconfiguration.util.RuntimePortletUtil.processPortlet(RuntimePortletUtil.java:169) >> at >> com.liferay.portlet.layoutconfiguration.util.RuntimePortletUtil.processPortlet(RuntimePortletUtil.java:102) >> at >> com.liferay.portlet.layoutconfiguration.util.RuntimePortletUtil.processTemplate(RuntimePortletUtil.java:280) >> at >> com.liferay.portlet.layoutconfiguration.util.RuntimePortletUtil.processTemplate(RuntimePortletUtil.java:189) >> at >> jsp_servlet._html._portal._layout._view.__portlet._jspService(__portlet.java:837) >> at weblogic.servlet.jsp.JspBase.service(JspBase.java:34) >> 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:292) >> at >> weblogic.servlet.internal.ServletStubImpl.execute(ServletStubImpl.java:175) >> at >> weblogic.servlet.internal.RequestDispatcherImpl.invokeServlet(RequestDispatcherImpl.java:499) >> at >> weblogic.servlet.internal.RequestDispatcherImpl.include(RequestDispatcherImpl.java:429) >> at >> com.liferay.portal.action.LayoutAction.includeLayoutContent(LayoutAction.java:318) >> at >> com.liferay.portal.action.LayoutAction.processLayout(LayoutAction.java:519) >> at com.liferay.portal.action.LayoutAction.execute(LayoutAction.java:196) >> at >> org.apache.struts.action.RequestProcessor.processActionPerform(RequestProcessor.java:431) >> at >> org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:236) >> at >> com.liferay.portal.struts.PortalRequestProcessor.process(PortalRequestProcessor.java:159) >> at >> org.apache.struts.action.ActionServlet.process(ActionServlet.java:1196) >> at org.apache.struts.action.ActionServlet.doPost(ActionServlet.java:432) >> at javax.servlet.http.HttpServlet.service(HttpServlet.java:727) >> at >> com.liferay.portal.servlet.MainServlet.callParentService(MainServlet.java:622) >> at com.liferay.portal.servlet.MainServlet.service(MainServlet.java:860) >> at javax.servlet.http.HttpServlet.service(HttpServlet.java:820) >> 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:292) >> at weblogic.servlet.internal.TailFilter.doFilter(TailFilter.java:26) >> at >> weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:56) >> at >> com.liferay.portal.kernel.servlet.BaseFilter.processFilter(BaseFilter.java:185) >> at >> com.liferay.portal.kernel.servlet.BaseFilter.doFilter(BaseFilter.java:115) >> at >> weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:56) >> at >> com.liferay.portal.kernel.servlet.BaseFilter.processFilter(BaseFilter.java:185) >> at >> com.liferay.portal.servlet.filters.strip.StripFilter.processFilter(StripFilter.java:181) >> at >> com.liferay.portal.kernel.servlet.BaseFilter.doFilter(BaseFilter.java:112) >> at >> weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:56) >> at >> com.liferay.portal.kernel.servlet.BaseFilter.processFilter(BaseFilter.java:185) >> at >> com.liferay.portal.kernel.servlet.BaseFilter.doFilter(BaseFilter.java:115) >> at >> weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:56) >> at >> com.liferay.portal.kernel.servlet.BaseFilter.processFilter(BaseFilter.java:185) >> at >> com.liferay.portal.kernel.servlet.BaseFilter.doFilter(BaseFilter.java:115) >> at >> weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:56) >> at >> com.liferay.portal.kernel.servlet.BaseFilter.processFilter(BaseFilter.java:185) >> at >> com.liferay.portal.servlet.filters.secure.SecureFilter.processFilter(SecureFilter.java:213) >> at >> com.liferay.portal.kernel.servlet.BaseFilter.doFilter(BaseFilter.java:112) >> at >> weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:56) >> at >> weblogic.servlet.internal.RequestDispatcherImpl.invokeServlet(RequestDispatcherImpl.java:500) >> at >> weblogic.servlet.internal.RequestDispatcherImpl.forward(RequestDispatcherImpl.java:248) >> at >> com.liferay.portal.servlet.FriendlyURLServlet.service(FriendlyURLServlet.java:142) >> at javax.servlet.http.HttpServlet.service(HttpServlet.java:820) >> 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:292) >> at weblogic.servlet.internal.TailFilter.doFilter(TailFilter.java:26) >> at >> weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:56) >> at >> com.liferay.portal.kernel.servlet.BaseFilter.processFilter(BaseFilter.java:185) >> at >> com.liferay.portal.kernel.servlet.BaseFilter.doFilter(BaseFilter.java:115) >> at >> weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:56) >> at >> com.liferay.portal.kernel.servlet.BaseFilter.processFilter(BaseFilter.java:185) >> at >> com.liferay.portal.servlet.filters.etag.ETagFilter.processFilter(ETagFilter.java:50) >> at >> com.liferay.portal.kernel.servlet.BaseFilter.doFilter(BaseFilter.java:112) >> at >> weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:56) >> at >> com.liferay.portal.kernel.servlet.BaseFilter.processFilter(BaseFilter.java:185) >> at >> com.liferay.portal.servlet.filters.strip.StripFilter.processFilter(StripFilter.java:141) >> at >> com.liferay.portal.kernel.servlet.BaseFilter.doFilter(BaseFilter.java:112) >> at >> weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:56) >> at >> com.liferay.portal.kernel.servlet.BaseFilter.processFilter(BaseFilter.java:185) >> at >> com.liferay.portal.kernel.servlet.BaseFilter.doFilter(BaseFilter.java:115) >> at >> weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:56) >> at >> com.liferay.portal.kernel.servlet.BaseFilter.processFilter(BaseFilter.java:185) >> at >> com.liferay.portal.kernel.servlet.BaseFilter.doFilter(BaseFilter.java:115) >> at >> weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:56) >> at >> com.liferay.portal.kernel.servlet.BaseFilter.processFilter(BaseFilter.java:185) >> at >> com.liferay.portal.servlet.filters.secure.SecureFilter.processFilter(SecureFilter.java:213) >> at >> com.liferay.portal.kernel.servlet.BaseFilter.doFilter(BaseFilter.java:112) >> at >> weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:56) >> at >> com.liferay.portal.kernel.servlet.BaseFilter.processFilter(BaseFilter.java:185) >> at >> com.liferay.portal.servlet.filters.i18n.I18nFilter.processFilter(I18nFilter.java:232) >> at >> com.liferay.portal.kernel.servlet.BaseFilter.doFilter(BaseFilter.java:112) >> at >> weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:56) >> at >> com.liferay.portal.kernel.servlet.BaseFilter.processFilter(BaseFilter.java:185) >> at >> com.liferay.portal.kernel.servlet.BaseFilter.doFilter(BaseFilter.java:115) >> at >> weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:56) >> at >> com.liferay.portal.kernel.servlet.BaseFilter.processFilter(BaseFilter.java:185) >> at >> com.liferay.portal.servlet.filters.cache.CacheFilter.processFilter(CacheFilter.java:459) >> at >> com.liferay.portal.kernel.servlet.BaseFilter.doFilter(BaseFilter.java:112) >> at >> weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:56) >> at >> com.liferay.portal.kernel.servlet.BaseFilter.processFilter(BaseFilter.java:185) >> at >> com.liferay.portal.servlet.filters.autologin.AutoLoginFilter.processFilter(AutoLoginFilter.java:262) >> at >> com.liferay.portal.kernel.servlet.BaseFilter.doFilter(BaseFilter.java:112) >> at >> weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:56) >> at >> com.liferay.portal.kernel.servlet.BaseFilter.processFilter(BaseFilter.java:185) >> at >> com.liferay.portal.servlet.filters.sso.opensso.OpenSSOFilter.processFilter(OpenSSOFilter.java:72) >> at >> com.liferay.portal.kernel.servlet.BaseFilter.doFilter(BaseFilter.java:112) >> at >> weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:56) >> at >> com.liferay.portal.kernel.servlet.BaseFilter.processFilter(BaseFilter.java:185) >> at >> com.liferay.portal.servlet.filters.sso.ntlm.NtlmPostFilter.processFilter(NtlmPostFilter.java:91) >> at >> com.liferay.portal.kernel.servlet.BaseFilter.doFilter(BaseFilter.java:112) >> at >> weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:56) >> at >> com.liferay.portal.kernel.servlet.BaseFilter.processFilter(BaseFilter.java:185) >> at >> com.liferay.portal.sharepoint.SharepointFilter.processFilter(SharepointFilter.java:191) >> at >> com.liferay.portal.kernel.servlet.BaseFilter.doFilter(BaseFilter.java:112) >> at >> weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:56) >> at >> com.liferay.portal.kernel.servlet.BaseFilter.processFilter(BaseFilter.java:185) >> at >> com.liferay.portal.servlet.filters.virtualhost.VirtualHostFilter.processFilter(VirtualHostFilter.java:229) >> at >> com.liferay.portal.kernel.servlet.BaseFilter.doFilter(BaseFilter.java:112) >> at >> weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:56) >> at >> com.liferay.portal.kernel.servlet.BaseFilter.processFilter(BaseFilter.java:185) >> at >> com.liferay.portal.servlet.filters.threadlocalcache.ThreadLocalCacheFilter.processFilter(ThreadLocalCacheFilter.java:51) >> at >> com.liferay.portal.kernel.servlet.BaseFilter.doFilter(BaseFilter.java:112) >> at >> weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:56) >> at >> com.liferay.portal.kernel.servlet.BaseFilter.processFilter(BaseFilter.java:185) >> at >> com.liferay.portal.kernel.servlet.BaseFilter.doFilter(BaseFilter.java:115) >> at >> weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:56) >> at >> com.liferay.portal.kernel.servlet.BaseFilter.processFilter(BaseFilter.java:185) >> at >> com.liferay.portal.kernel.servlet.BaseFilter.doFilter(BaseFilter.java:115) >> at >> weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:56) >> at >> org.tuckey.web.filters.urlrewrite.UrlRewriteFilter.doFilter(UrlRewriteFilter.java:738) >> at >> weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:56) >> at >> weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.run(WebAppServletContext.java:3592) >> at >> weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:321) >> at >> weblogic.security.service.SecurityManager.runAs(SecurityManager.java:121) >> at >> weblogic.servlet.internal.WebAppServletContext.securedExecute(WebAppServletContext.java:2202) >> at >> weblogic.servlet.internal.WebAppServletContext.execute(WebAppServletContext.java:2108) >> at >> weblogic.servlet.internal.ServletRequestImpl.run(ServletRequestImpl.java:1432) >> at weblogic.work.ExecuteThread.execute(ExecuteThread.java:201) >> at weblogic.work.ExecuteThread.run(ExecuteThread.java:173) >> -- >> View this message in context: >> http://old.nabble.com/Framework-%3A-Liferay-Struts-2-on-WebLogic-%3A-java.io.NotSerializableException%3A-org.apache.struts2.portlet.PortletRequestMap-tp30238148p30238148.html >> Sent from the Struts - Dev mailing list archive at Nabble.com. >> >> >> --------------------------------------------------------------------- >> To unsubscribe, e-mail: dev-unsubscr...@struts.apache.org >> For additional commands, e-mail: dev-h...@struts.apache.org >> >> > > --------------------------------------------------------------------- > To unsubscribe, e-mail: dev-unsubscr...@struts.apache.org > For additional commands, e-mail: dev-h...@struts.apache.org > > > -- View this message in context: http://old.nabble.com/Framework-%3A-Liferay-Struts-2-on-WebLogic-%3A-java.io.NotSerializableException%3A-org.apache.struts2.portlet.PortletRequestMap-tp30238148p30238943.html Sent from the Struts - Dev mailing list archive at Nabble.com. --------------------------------------------------------------------- To unsubscribe, e-mail: dev-unsubscr...@struts.apache.org For additional commands, e-mail: dev-h...@struts.apache.org