【问题标题】:Tomcat 6 showing exception sometimes when start the application [duplicate]Tomcat 6在启动应用程序时有时会显示异常[重复]
【发布时间】:2017-08-31 11:05:48
【问题描述】:

在部署war文件后,我在tomcat 6中遇到了以下异常。但它有时只发生。它会影响应用程序中的任何内容吗?我需要为此做些什么吗?也请让我为什么它发生在我的tomcat中? 提前致谢。

va.io.WriteAbortedException: writing aborted; java.io.NotSerializableException: com.sun.faces.context.ExternalCon
      at java.io.ObjectInputStream.readObject0(Unknown Source)
      at java.io.ObjectInputStream.defaultReadFields(Unknown Source)
      at java.io.ObjectInputStream.readSerialData(Unknown Source)
      at java.io.ObjectInputStream.readOrdinaryObject(Unknown Source)
      at java.io.ObjectInputStream.readObject0(Unknown Source)
      at java.io.ObjectInputStream.readObject(Unknown Source)

    at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:414)
used by: java.io.NotSerializableException: com.sun.faces.context.ExternalContextImpl
      at java.io.ObjectOutputStream.writeObject0(Unknown Source)
      at java.io.ObjectOutputStream.defaultWriteFields(Unknown Source)
      at java.io.ObjectOutputStream.writeSerialData(Unknown Source)
      at java.io.ObjectOutputStream.writeOrdinaryObject(Unknown Source)
      at java.io.ObjectOutputStream.writeObject0(Unknown Source)
      at java.io.ObjectOutputStream.writeObject(Unknown Source)
      at org.apache.catalina.session.StandardSession.writeObject(StandardSession.java:1551)
      at org.apache.catalina.session.StandardSession.writeObjectData(StandardSession.java:994)
      at org.apache.catalina.session.StandardManager.doUnload(StandardManager.java:523)
      at org.apache.catalina.session.StandardManager.unload(StandardManager.java:469)
      at org.apache.catalina.session.StandardManager.stop(StandardManager.java:673)
      at org.apache.catalina.core.StandardContext.stop(StandardContext.java:4774)
      at org.apache.catalina.core.ContainerBase.removeChild(ContainerBase.java:924)
      at org.apache.catalina.startup.HostConfig.undeployApps(HostConfig.java:1319)
      at org.apache.catalina.startup.HostConfig.stop(HostConfig.java:1290)
      at org.apache.catalina.startup.HostConfig.lifecycleEvent(HostConfig.java:323)

     ... 6 more
g 31, 2017 12:30:49 PM org.apache.catalina.session.StandardManager start
VERE: Exception loading sessions from persistent storage
va.io.WriteAbortedException: writing aborted; java.io.NotSerializableException: com.sun.faces.context.ExternalCon
      at java.io.ObjectInputStream.readObject0(Unknown Source)
      at java.io.ObjectInputStream.defaultReadFields(Unknown Source)
      at java.io.ObjectInputStream.readSerialData(Unknown Source)
      at java.io.ObjectInputStream.readOrdinaryObject(Unknown Source)
      at java.io.ObjectInputStream.readObject0(Unknown Source)
      at java.io.ObjectInputStream.readObject(Unknown Source)
      at org.apache.catalina.session.StandardSession.readObject(StandardSession.java:1475)
      at org.apache.catalina.session.StandardSession.readObjectData(StandardSession.java:977)
      at org.apache.catalina.session.StandardManager.doLoad(StandardManager.java:394)
      at org.apache.catalina.session.StandardManager.load(StandardManager.java:321)
      at org.apache.catalina.session.StandardManager.start(StandardManager.java:643)
      at org.apache.catalina.core.ContainerBase.setManager(ContainerBase.java:438)
      at org.apache.catalina.core.StandardContext.start(StandardContext.java:4559)
      at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:7

【问题讨论】:

  • @Araf 实际上并不完全相同,事情是当我在 Eclipse 中运行它时它工作正常,在 tomcat 中只是有时会显示此异常

标签: java tomcat


【解决方案1】:

从堆栈跟踪看来,您的一个应用程序在会话中存储了一个无法通过服务器重启进行持久化(序列化)的对象。

您可以configure Tomcat 根本不保留会话(或尝试那里记录的替代持久性机制)或找到在会话中存储有问题数据的应用程序并修复它(推荐)。

【讨论】:

  • 感谢您的回答。但我想选择你的第二个选项。你能解释一下我需要做什么吗?
  • 找出您的应用程序在会话中存储的内容。不要在其中存储任何不可序列化的内容(例如 ExternalContext)。
  • 我可以知道为什么它只发生在有时。不是所有时候。请帮助纠正这个问题
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-01-10
  • 1970-01-01
  • 1970-01-01
  • 2013-02-25
  • 2020-04-03
相关资源
最近更新 更多