背景

使用ehcache时,默认从缓存获取的是对象引用,因此如果对该引用进行任何修改,都会同步到缓存中。

说明

这篇文章说的非常好:ehcache2拾遗之copyOnRead,copyOnWrite

在ehcache的配置中,增加上面的两个属性即可,再从缓存获取对象时,不再是对象引用,而是创建一个深度复制的克隆对象,这样的话就不会对原对象有任何影响。

其他

我之前有一篇介绍 transient 关键字的博文:使用transient关键字解决ehcache序列化错误

在使用 copyOnRead / copyOnWrite 配置,并对属性添加 transient 关键字后,会出现反序列之后的对象丢失该属性的情况。

添加 static 后问题解决,例如:

private transient final static ReciveService reciveSer = Ioc.get(ReciveService.class);

 

相关文章:

  • 2022-01-31
  • 2021-09-11
  • 2022-12-23
  • 2021-12-25
  • 2021-07-26
  • 2021-05-03
  • 2022-12-23
猜你喜欢
  • 2021-10-31
  • 2022-01-30
  • 2021-08-07
  • 2021-08-01
  • 2021-08-05
  • 2022-12-23
相关资源
相似解决方案