对于Glassfish 3,为什么在部署我的应用程序时DirectConnectionFactory突然给我NullPointerException?

dem*_*lem 4 java glassfish glassfish-3

工作好几个星期后,我无法将使用Glassfish 3的应用程序部署到本地计算机上。我得到:

EJB容器初始化错误

似乎有一个空指针:

com.sun.messaging.jms.ra.DirectConnectionFactory._createConnectionId(DirectConnectionFactory.java:424)

我有时会更改我的应用程序,使其指向另一台服务器上的glassfish实例,并且必须更新正确服务器的设置,但是我确信当前配置适用于我的本地计算机。

是什么导致这种突然的行为?

dem*_*lem 5

一个很可能的解决方案(尽管不是立即显而易见的解决方案)是发生了锁定。这通常发生在IP地址易于更改的机器上。对于涉及DirectConnectionFactory的错误,这是应执行的第一批检查之一,并且自Glassfish 2起这种行为一直存在(因此此修复程序也可能适用)。

您要解决的问题是:

  1. 转到部署您的应用程序的文件夹(对我来说是glassfish3 \ glassfish \ domains {MY_APPLICATION})
  2. 寻找imq / instances / imqbroker / lock
  3. 删除该文件
  4. 重新启动玻璃鱼
  5. 尝试再次部署您的应用程序。