【发布时间】:2023-03-17 07:46:02
【问题描述】:
在我的机器上本地运行应用程序时,该应用程序运行良好。部署到 QA 时,收到以下错误。我在本地和 QA 中运行 Tomcat 5.5.23。该应用程序还使用 Spring MVC。
错误 2011-03-01 16:41:42:从持久存储java.io.WriteAbortedException 加载会话的异常:写入中止; java.io.NotSerializableException:com.everbank.uft.entities.ldc.VoidReason 在 java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1333) 在 java.io.ObjectInputStream.readObject(ObjectInputStream.java:351) 在 java.util.ArrayList.readObject(ArrayList.java:593) 在 sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 在 sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) 在 sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) 在 java.lang.reflect.Method.invoke(Method.java:597) 在 java.io.ObjectStreamClass.invokeReadObject(ObjectStreamClass.java:974) 在 java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:1849) 在 java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1753) 在 java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1329) 在 java.io.ObjectInputStream.readObject(ObjectInputStream.java:351) 在 org.apache.catalina.session.StandardSession.readObject(StandardSession.java:1402) 在 org.apache.catalina.session.StandardSession.readObjectData(StandardSession.java:931) 在 org.apache.catalina.session.StandardManager.doLoad(StandardManager.java:394) 在 org.apache.catalina.session.StandardManager.load(StandardManager.java:321) 在 org.apache.catalina.session.StandardManager.start(StandardManager.java:637) 在 org.apache.catalina.core.ContainerBase.setManager(ContainerBase.java:432) 在 org.apache.catalina.core.StandardContext.start(StandardContext.java:4160) 在 org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:760) 在 org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:740) 在 org.apache.catalina.core.StandardHost.addChild(StandardHost.java:544) 在 org.apache.catalina.startup.HostConfig.deployDescriptor(HostConfig.java:626) 在 org.apache.catalina.startup.HostConfig.deployDescriptors(HostConfig.java:553) 在 org.apache.catalina.startup.HostConfig.deployApps(HostConfig.java:488) 在 org.apache.catalina.startup.HostConfig.start(HostConfig.java:1138) 在 org.apache.catalina.startup.HostConfig.lifecycleEvent(HostConfig.java:311) 在 org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(LifecycleSupport.java:120) 在 org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1022) 在 org.apache.catalina.core.StandardHost.start(StandardHost.java:736) 在 org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1014) 在 org.apache.catalina.core.StandardEngine.start(StandardEngine.java:443) 在 org.apache.catalina.core.StandardService.start(StandardService.java:448) 在 org.apache.catalina.core.StandardServer.start(StandardServer.java:700) 在 org.apache.catalina.startup.Catalina.start(Catalina.java:552) 在 sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 在 sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) 在 sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) 在 java.lang.reflect.Method.invoke(Method.java:597) 在 org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:295) 在 org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:433) 引起:java.io.NotSerializableException:com.everbank.uft.entities.ldc.VoidReason 在 java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1156) 在 java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:326) 在 java.util.ArrayList.writeObject(ArrayList.java:570) 在 sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 在 sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) 在 sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) 在 java.lang.reflect.Method.invoke(Method.java:597) 在 java.io.ObjectStreamClass.invokeWriteObject(ObjectStreamClass.java:945) 在 java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:1461) 在 java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.java:1392) 在 java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1150) 在 java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:326) 在 org.apache.catalina.session.StandardSession.writeObject(StandardSession.java:1478) 在 org.apache.catalina.session.StandardSession.writeObjectData(StandardSession.java:948) 在 org.apache.catalina.session.StandardManager.doUnload(StandardManager.java:517) 在 org.apache.catalina.session.StandardManager.unload(StandardManager.java:463) 在 org.apache.catalina.session.StandardManager.stop(StandardManager.java:667) 在 org.apache.catalina.core.StandardContext.stop(StandardContext.java:4363) 在 org.apache.catalina.core.ContainerBase.removeChild(ContainerBase.java:893) 在 org.apache.catalina.startup.HostConfig.undeployApps(HostConfig.java:1180) 在 org.apache.catalina.startup.HostConfig.stop(HostConfig.java:1151) 在 org.apache.catalina.startup.HostConfig.lifecycleEvent(HostConfig.java:313) 在 org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(LifecycleSupport.java:120) 在 org.apache.catalina.core.ContainerBase.stop(ContainerBase.java:1055) 在 org.apache.catalina.core.ContainerBase.stop(ContainerBase.java:1067) 在 org.apache.catalina.core.StandardEngine.stop(StandardEngine.java:448) 在 org.apache.catalina.core.StandardService.stop(StandardService.java:510) 在 org.apache.catalina.core.StandardServer.stop(StandardServer.java:734) 在 org.apache.catalina.startup.Catalina.stop(Catalina.java:602) 在 org.apache.catalina.startup.Catalina.start(Catalina.java:577) ... 6 更多 错误 2011-03-01 16:42:49:UserTrackingFilter.doFilter() 失败。消息:Servlet 执行引发异常javax.servlet.ServletException:Servlet 执行引发异常 在 org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:292) 在 org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188) 在 com.everbank.uft.filters.UserTrackingFilter.doFilter(UserTrackingFilter.java:65) 在 org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:215) 在 org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188) 在 com.everbank.uft.filters.HibernateSessionRequestFilter.doFilter(HibernateSessionRequestFilter.java:36) 在 org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:215) 在 org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188) 在 org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:210) 在 org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:174) 在 org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127) 在 org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:117) 在 org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:108) 在 org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:151) 在 org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:870) 在 org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.processConnection(Http11BaseProtocol.java:665) 在 org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:528) 在 org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(LeaderFollowerWorkerThread.java:81) 在 org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:685) 在 java.lang.Thread.run(Thread.java:619)
【问题讨论】:
-
需要更多信息。您如何部署到“QA”?环境有何不同?从堆栈跟踪中,错误源自 Hibernate,因此应用程序中可能存在通过网络访问实体的错误? Hibernate 要求实体可序列化以跨网络边界发送内容。建议“com.everbank.uft.entities.ldc.VoidReason”需要可序列化。
-
@dionysus 如何解决这个问题。当部署到 tomcat 6 时,我也得到了
标签: java spring serialization tomcat servlets