我终于发现了引起这个异常的问题。问题是我们使用的数据结构存储在EHCHACE中。数据结构包含大量的集合和内部不同步的映射。因此,当ehcache程序尝试将对象序列化到流中时,如果任何其他线程尝试修改此集合对象或Map对象,则会导致“OptionalDataException”。 这就是为什么这个错误的发生本质上也是随机的,而且发生在代码中的随机位置,因为它只发生在序列化与对象的更新一致的时候。因此,建议的解决方案是同步对这些集合和MAP对象的访问。一旦它们被同步,问题就不会再次发生。
版权声明:本文为Man20161217原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。