栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

JSF受管Bean在Tomcat部署期间导致java.io.NotSerializableException

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

JSF受管Bean在Tomcat部署期间导致java.io.NotSerializableException

这是跟踪的相关部分:

SCHWERWIEGEND: Exception loading sessions from persistent storagejava.io.WriteAbortedException: writing aborted;

java.io.NotSerializableException:
org.dhbw.stg.wwi2008c.mopro.ui.viewscoped.MachineReservationListBean

at
org.apache.catalina.session.StandardSession.readObject(StandardSession.java:1576)
at
org.apache.catalina.session.StandardSession.readObjectData(StandardSession.java:1059)
at
org.apache.catalina.session.StandardManager.doLoad(StandardManager.java:284)
at
org.apache.catalina.session.StandardManager.load(StandardManager.java:204)
at
org.apache.catalina.session.StandardManager.startInternal(StandardManager.java:465)
at
org.apache.catalina.util.Lifecyclebase.start(Lifecyclebase.java:140)




这个问题与您链接的问题所涉及的问题不同。默认情况下,当Tomcat关闭时,它将序列化

HttpSession
到磁盘,然后在启动时从磁盘重新加载,以便最终用户可以继续浏览器会话而不会丢失任何会话数据。

在这种情况下,任何会话属性都应实现

Serializable
。默认情况下,JSF视图状态存储在会话中,包括所有适当的视图范围的Bean。他们还需要实施
Serializable
以使Tomcat关闭/重新启动。

从技术上讲,您可以忽略它。如果尚不存在,JSF仍将重新创建会话/视图范围的bean。但是,最终用户将无法继续使用相同的会话/视图范围的数据。当会话不包含任何不可序列化的对象时,将不会发生这些异常。这就是为什么它“有时”有效的原因。

如果您想完全 禁用 会话持久性,以免被那些异常/警告所困扰,那么您需要向该Web应用程序的元素中添加一个

<Manager>
具有
pathname
属性的
<Context>
元素。

<Context ... >    <Manager pathname="" /></Context>

这基本上指示使用Tomcat 没有 会话管理器在所有。

也可以看看:

  • Tomcat 7.0配置参考-
    Context
    容器
  • java.io.WriteAbortedException:编写中止;java.io.NotSerializableException


转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/506951.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号