【发布时间】:2014-06-10 00:52:23
【问题描述】:
我正在尝试在我的 java servlet 中创建一个单例实例。但是我有一些我找不到的问题。
我用一种方法执行这个:
RegisterHandler reg = RegisterHandler.getInstance();
在 registerHandler 中我有 getInstance 方法:
private static RegisterHandler instancia ;
public static RegisterHandler getInstance() {
if(instancia==null){ //SI ES NULL
instancia = new RegisterHandler(); //LO INSTANCIAMOS
}
return instancia;
}
我认为如果它不存在或现有实例,它应该返回一个新实例,但是当我第一次尝试执行它时,它进入 instancia==null 并崩溃。没有给出错误。
有什么想法吗?
我添加了我的构造函数:
private RegisterHandler() {
try {
this.publisher = new AMQEventPublisher("failover:tcp://127.0.0.1:9009");
} catch (NormalException e) {
log.error("Error",e);
}
}
【问题讨论】:
-
RegisterHandler构造函数有什么作用? -
RegisterHandler的构造函数里有什么?是吞咽异常吗? -
您没有显示会导致程序崩溃的代码。如果它抛出异常,则它在您未显示的代码中。你能告诉我们异常、堆栈跟踪以及异常是在哪一行被抛出的吗?
-
它没有给出例外。这就是我不知道它为什么失败的问题。但是 new Regist... 行没有执行,并且程序不会从那一点继续