如何解决声纳序列化问题?

jtw3ybtb  于 2021-07-08  发布在  Java
关注(0)|答案(1)|浏览(372)

我有一个代码片段,其中我从sonar获得了关键代码的味道,因为异常实现了可序列化。这段代码在生产环境中运行了很长一段时间,我看不到sonar文档中的任何问题:“例如,在负载下,大多数j2ee应用程序框架都会将对象刷新到磁盘上,而一个据称是可序列化的对象(包含非瞬时的、不可序列化的数据成员)可能会导致程序崩溃。”。这个声纳问题会导致应用程序中的代码崩溃吗?

waxmsbnn

waxmsbnn1#

如果您不打算反序列化 entries 现场使用 transient 关键字:

private final transient List<Objects> entries = new ArrayList<>();

否则,您必须实现自定义的反序列化,但是,我不确定它能否解决声纳问题。关键字 transient 解决了声纳问题。
j2ee应用程序框架将对象刷新到磁盘
这取决于物体 OuterException 它本身实际上是反序列化的。我怀疑j2ee会在没有被告知的情况下序列化您自己创建的自定义对象。实际上,你可以用“不会修复”的解决方案和适当的评论来结束这个问题,这没有错。

相关问题