当Java EE服务器尝试从其中一个服务解析主机名时,我们收到以下异常。我们能够使用ping / nslookup命令手动解析该框上的主机名。我们还能够使用与服务器尝试使用的参数相同的curl来启动该外部服务。因此,只有当我们尝试从Java / Java EE应用程序向外部主机发出请求时,才会出现此问题。
要解决此问题,我们在/ etc / hosts文件中手动添加了一个条目,它解决了问题,但我们想要一个永久的解决方案,因此我们不必不断更改IP。它之前没有添加该条目,但突然间它停止了工作。
环境细节:
OS:Cent OS 6.3
Java:JDK 1.6.0_24
Java EE服务器:JBoss AS 7.1.1
Http客户端库:httpclient-4.0.jar
提前感谢您的帮助!!
检查salesforce许可证时出错|: java.net.UnknownHostException:na15.salesforce.com at java.net.AbstractPlainSocketImpl.connect(AbstractPlainSocketImpl.java:175) [rt.jar:1.6.0_24] at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:384) [rt.jar:1.6.0_24] java.net.Socket.connect(Socket.java:546) [rt.jar:1.6.0_24] at sun.security.ssl.SSLSocketImpl.connect(SSLSocketImpl.java:584) [jsse.jar:1.6.0_24] at org.apache.http.conn.ssl.SSLSocketFactory.connectSocket(SSLSocketFactory.java:333) [httpclient-4.0.jar:4.0] at org.apache.http.impl.conn.DefaultClientConnectionOperator.openConnection(DefaultClientConnectionOperator.java:123) [httpclient-4.0.jar:4.0] at org.apache.http.impl.conn.AbstractPoolEntry.open(AbstractPoolEntry.java:147) [httpclient-4.0.jar:4.0] at org.apache.http.impl.conn.AbstractPooledConnAdapter.open(AbstractPooledConnAdapter.java:101) [httpclient-4.0.jar:4.0] at org.apache.http.impl.client.DefaultRequestDirector.execute(DefaultRequestDirector.java:381) [httpclient-4.0.jar:4.0] at org.apache.http.impl.client.AbstractHttpClient.execute(AbstractHttpClient.java:641) [httpclient-4.0.jar:4.0] at org.apache.http.impl.client.AbstractHttpClient.execute(AbstractHttpClient.java:576) [HttpClient的-4.0.jar:4.0]
答案 0 :(得分:3)
这很可能是网络管理,更改/配置管理或一般系统管理问题,而不是编程问题。
它之前没有添加该条目,但突然间它停止了工作。
一种方法是试图弄清楚改变了什么导致它停止工作。这不是自发发生的事情。有人或某些事情已经改变了一些软件或配置来实现这一目标。从停止时(或您注意到的时间)开始,然后返回更改日志。
听起来像这是Java DNS解析程序的问题。看起来解析器要么不试图与正常的DNS服务器通信,要么尝试失败。
我们无法为您调试它,但我发现这些资源有助于解释在Java中进行名称查找时应该发生的事情,并提供有关故障排除的一些想法。
资源: