900字范文,内容丰富有趣,生活中的好帮手!
900字范文 > java.io.StreamCorruptedException: invalid stream header: 2009

java.io.StreamCorruptedException: invalid stream header: 2009

时间:2023-07-15 03:15:47

相关推荐

java.io.StreamCorruptedException: invalid stream header: 2009

为什么80%的码农都做不了架构师?>>>

在项目中使用ehcache 缓存,启动tomcat 突然报这个错误。

找了下原因是因为 一个tomcat 下 有两个应用,但是ehcache<diskStore path="../temp" /> 路径设置的是同一个,就会报错。修改path 使两个应用的path路径不一样就可以了。

ehcache的原理是将所有的value值序列化后存储到本地磁盘,将一个与之对应的key值存到内存中,建立两者关联。这样就能根据key查找磁盘中的value了,当value值找不到时,或者序列化异常时就出现了你的问题。出现原因一般是这样子:value默认存储到tomcat临时目录tmp下(不同服务器不同系统该路径不同,参考 @红薯 /question/12_2368),当tomcat下多个实例同时往这个目录下写入缓存时,就容易出现问题了。解决方案是指定下diskStore 目录为不同的目录。

通过修改diskStore path="${ehcache.dir.tmp}" ,注意参数ehcache.dir.tmp要进行配置,如修改weblogic的启动脚本或配置脚本setDomainEnv.cmd,setDomainEnv.sh 增加参数:-Dehcache.dir.tmp=路径。tomcat修改方式类似。

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。