1

Any idea why the following errors comes up.This is happening when posting a JMS message to a queue deployed on Admin server from the application on managed server.

009-06-02 11:21:18,688 (com.xxx.util.servicelocator.ServiceLocator:612) ERROR - Error while loading Queue ProfilerNotify

javax.naming.CommunicationException [Root exception is java.rmi.ConnectException: This RJVM has already been shutdown 3481854169479569584S:XX.XXX.X.XXX:[9200,9200,-1,-1,-1,-1,-1]:Production10:AdminServer]

        at weblogic.jndi.internal.ExceptionTranslator.toNamingException(ExceptionTranslator.java:64)

        at weblogic.jndi.internal.WLContextImpl.translateException(WLContextImpl.java:426)

        at weblogic.jndi.internal.WLContextImpl.lookup(WLContextImpl.java:382)

        at weblogic.jndi.internal.WLContextImpl.lookup(WLContextImpl.java:367)

        at javax.naming.InitialContext.lookup(InitialContext.java:351)

        at com.xxx.util.servicelocator.ServiceLocator.loadQueue(ServiceLocator.java:607)

        at com.xxx.util.servicelocator.ServiceLocator.getQueue(ServiceLocator.java:285)
4

2 回答 2

2

我们最近在听起来类似的情况下遇到了这个错误。

原来是因为我们在 DNS 中没有服务器的域名。我们没有使用域名(我们使用了 IP),但似乎 weblogic 需要能够反向查找 IP 地址,否则它会给出这个最具误导性的错误。

我们刚刚将相关行添加到 /etc/hosts ,一切都开始工作了。

于 2010-01-27T22:06:15.770 回答
2

确实是 DNS 名称解析问题。虽然我在应用程序服务器的 /etc/hosts 中添加了条目,但同样需要在外部服务器中添加,因为它无法解析 DNS。我发现的另一种方法(在 /etc/hosts 中没有任何条目)是在 Weblogic Console-->Server-->Managed Server-->General Tab->Listen Address 字段中,我给出了主机名我的托管服务器。我将其更改为我的托管服务器的 IP 地址,然后能够连接到外部服务器。Listen Address 字段的 More Info 部分说明了一些关于提供 DNS 名称的信息:

要将 DNS 名称解析为 IP 地址,WebLogic Server 必须能够联系适当的 DNS 服务器或在本地获取 IP 地址映射。因此,如果为侦听地址指定 DNS 名称,则必须让端口保持足够长的时间以使 WebLogic Server 实例连接到 DNS 服务器并缓存其映射,或者必须在本地文件中指定 IP 地址映射。如果为 ListenAddress 指定 IP 地址,然后客户端请求指定 DNS 名称,WebLogic Server 将尝试解析 DNS 名称,但如果无法访问 DNS 名称映射,则请求将失败

于 2012-11-19T14:50:05.383 回答