tomcat启动报java.io.NotSerializableException或者WriteAbortedException错误解决方法

NotSerializableException或者WriteAbortedException

运行tomcat下面的 ssh项目,启动,打开某页面(让session起作用),停止;再启动,有可能会报类似如下的错误:

org.apache.catalina.session.StandardManager doLoad

严重: IOException while loading persisted sessions: java.io.WriteAbortedException: writing aborted; java.io.NotSerializableException: xxxxxxxx

java.io.WriteAbortedException: writing aborted; java.io.NotSerializableException: xxxxxxxx

org.apache.catalina.session.StandardManager start

严重: Exception loading sessions from persistent storage

java.io.WriteAbortedException: writing aborted; java.io.NotSerializableException: xxxxxxx

原因是:tomcat停止时,保存session资源,然后在重启服务后,会尝试恢复session。

解决办法一:

配置tomcat在关闭的时候就不去保存session资源。

在server.xml中Context下添加如下的内容:

<Manager className="org.apache.catalina.session.PersistentManager" saveOnRestart="false"/>

再进行启动停止等操作,报如下的类似错误:

org.apache.catalina.session.PersistentManagerBase start

严重: No Store configured, persistence disabled

原因是添加的东东少添加了一点点儿。

解决办法:

修改刚才添加的 <Context>中<Manager> 元素:

<Manager className="org.apache.catalina.session.PersistentManager" saveOnRestart="false"/>

改为:

<Manager className="org.apache.catalina.session.PersistentManager" saveOnRestart="false">

        <Store className="org.apache.catalina.session.FileStore"/>

    </Manager>

即可解决该问题。

解决办法二:

将那些需要放在session的类进行序列化。

也就是让类实现接口java.io.Serializable即可。

时间: 2024-12-23 07:52:26

tomcat启动报java.io.NotSerializableException或者WriteAbortedException错误解决方法的相关文章

Tomcat报java.io.IOException: Broken pipe错误

Tomcat报java.io.IOException: Broken pipe错误,如下图: 解决方案:我的原因是因为网络策略导致出现该问题,即网络端口未启用或被限制. 原文地址:https://www.cnblogs.com/skysures/p/11479316.html

zabbix启动报错:Connection to database &#39;xxx&#39; failed解决方法

Zabbix 分布式系统监视系统 zabbix是一个基于WEB界面的提供分布式系统监视以及网络监视功能的企业级的开源解决方案. zabbix能监视各种网络参数,保证服务器系统的安全运营:并提供灵活的通知机制以让系统管理员快速定位/解决存在的各种问题. 本文讲解的是zabbix无法启动报错:Connection to database 'xxx' failed: [1045] Access denied for user 'xxx'@'localhost' (using password: NO)

Linux环境下MySQL报Table &#39;xxx&#39; doesn&#39;t exist错误解决方法

修改了lower_case_table_names=1 后,业务发有个库的表打不开了,看了表名以前是大写,查了一下如果设置不区分大小写, 以前的大小表名要改成小写.重启服务后可用! MYSQL在LINUX下数据库名.表名.列名.别名大小写规则如下: 1.数据库名与表名是严格区分大小写的 2.表的别名是严格区分大小写的 3.列名与列的别名在所有的情况下均是忽略大小写的 4.变量名也是严格区分大小写的 Linux环境下MySQL报Table 'xxx' doesn't exist错误解决方法

解决mac os x下 tomcat启动报 java.net.BindException: Permission denied &lt;null&gt;:80 错误

我在mac os x上启动tomcat的时候,报 java.net.BindException: Permission denied <null>:80,java.net.BindException: Permission denied <null>:443错误,443时因为我要弃用ssl服务. Mac OS X 因为要绑定1024以下的端口需要ROOT权限, 但是如果用root权限启动eclipse或tomcat又会造成, 启动创建的各类文件是root的,普通用户无法删除. 为此

Tomcat启动报java.security.InvalidKeyException:illegal Key Size

背景: 最近在搭建公司的一个服务,需要用到tomcat,可以启动tomcat之后,日志总是报错. java.security.InvalidKeyException:illegal Key Size. 查了一下,这是一个java加解密的问题. 我按照网上的方法,下载了JCE_policy文件,放上去之后还是报这样的错误. 注意: 因为安装的JDK版本不一样所造成的,JCE_policy版本要跟JDK版本匹配. 网上说到的都是JDK1.6版本.我安装的是JDK1.7版本. 这是因为用到了jdk s

[已解决]Tomcat启动报 java.net.BindException: Address already in use: JVM_Bind

启动多个Tomcat的的时候记得要改3个端口: <Server port="8001" shutdown="SHUTDOWN"> <Connector port="6301" protocol="HTTP/1.1" /> <Connector port="8006" protocol="AJP/1.3" redirectPort="8443&quo

myeclipse下原来好使的项目,tomcat启动找不到sessionFactory的bean的解决方法

org.springframework.beans.factory.NoSuchBeanDefinitionException: No bean named 'sessionFactory' is defined 这个问题发生的很突然,网上各种找都是说没有配置啊,没有加载啊,没有~~~~~ 其实我这个原因是myeclipse有缓存了,具体解决方法: 点解工具栏 Project ->Clean,默认点选Clean all projects,也可以点选Clean projects selected

mac 上运行cassandra出现的java.net.MalformedURLException: Local host name unknown: java.net.UnknownHostException: : : unknown error错误解决方法

运行: ./bin/cassandra 得到输出结果: objc[1881]: Class JavaLaunchHelper is implemented in both /Library/Java/JavaVirtualMachines/jdk1.8.0_25.jdk/Contents/Home/bin/java and /Library/Java/JavaVirtualMachines/jdk1.8.0_25.jdk/Contents/Home/jre/lib/libinstrument.d

java.io.EOFException java.io.ObjectInputStream$PeekInputStream.readFully 错误

Tomcat 启动时 java.io.EOFException at java.io.ObjectInputStream$PeekInputStream.readFully 错误 这 个错误 碰到好几次了,我的tomcat使用非常频繁,而且部署项目比较多,经常会出一些自己看不懂的问题, 今天解决了这个错误 at java.io.ObjectInputStream$PeekInputStream.readFully 错误这个错误的原因是: 当已有的项目部署到了Tomcat里面运行后,因为一些原因删