【发布时间】:2013-09-28 12:46:43
【问题描述】:
我应该在 Java EE 中将注入变量声明为 transient 吗?
我收到了 FindBugs 警告:
com.playaround.HelloServlet 类定义了非瞬态不可序列化的实例字段加速单元
这个 Serializable 类定义了一个非原始实例字段,它既不是瞬态的、Serializable 也不是 java.lang.Object,并且似乎没有实现 Externalizable 接口或 readObject() 和 writeObject() 方法。
如果此字段中存储了不可序列化的对象,则此类的对象将无法正确反序列化。
正在播放的代码是:
/**
* Sample of a web service reference.
*/
@WebServiceRef
private AccelerationUnit accelerationUnit;
同样的问题适用于@Resource、@Inject、@PersistenceUnit 等。
【问题讨论】:
标签: jakarta-ee serialization transient