【发布时间】:2011-08-26 14:34:44
【问题描述】:
我开发了一个 web 服务,它使用一个对象实例来完成部分所需的功能。
当我通过使用构造函数创建 web 服务类实例时,该对象被初始化一次。
示例:
公开课 A {
私有 B bInstance;
公共A(){
bInstance = 新 B();
}
}
不幸的是,几分钟后(可能是 20 到 30 分钟),我的代码开始从该对象返回 NullPointerException。就好像那个对象被垃圾收集或销毁了一样。
这可能是什么原因(除了可能的人为错误)?也许我错过了一些特定于 Web 应用程序的东西
现在我已经开始使用对象 getter 来验证空指针并在需要时重建对象,但这感觉不对
感谢您提供的任何提示
【问题讨论】:
-
如果这样做,GC 将被严重破坏。不是(有 99% 的把握)。问题一定出在您的代码中。
-
我知道,我已经搜索代码好几天了,但我没有找到初始化后写入变量的一行。
-
@Katanagashi:创建变量
final只是为了确保。 -
您是否也有一个设置器,它允许项目的其他部分将该实例设置为空?
-
@Jeremy 会尝试这样做,但首先我必须更改初始化代码才能在“final”变量中执行此操作
标签: java web-applications web-services jakarta-ee