来自 Java 的 UnknownHostException 但主机通过 Ping/nslookup/curl 进行解析

2024-01-09

当 Java EE 服务器尝试从其中一项服务解析主机名时,我们遇到以下异常。我们能够使用 ping/nslookup 命令手动解析盒子上的主机名。我们还能够使用与服务器尝试使用的参数相同的curl 来启动该外部服务。因此,似乎只有当我们尝试从 Java/Java EE 应用程序向外部主机发出请求时才会发生此问题。

为了解决这个问题,我们手动在 /etc/hosts 文件中添加了一个条目,它解决了问题,但我们需要一个永久的解决方案,这样我们就不必不断更改 IP。之前在没有添加该条目的情况下它可以工作,但突然它停止工作了。

我们的环境详细信息:

操作系统: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 位于 java.net.AbstractPlainSocketImpl.connect(AbstractPlainSocketImpl.java:175) [rt.jar:1.6.0_24] 在 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] 在 sun.security.ssl.SSLSocketImpl.connect(SSLSocketImpl.java:584) [jsse.jar:1.6.0_24] 在 org.apache.http.conn.ssl.SSLSocketFactory.connectSocket(SSLSocketFactory.java:333) [httpclient-4.0.jar:4.0] 在 org.apache.http.impl.conn.DefaultClientConnectionOperator.openConnection(DefaultClientConnectionOperator.java:123) [httpclient-4.0.jar:4.0] 在 org.apache.http.impl.conn.AbstractPoolEntry.open(AbstractPoolEntry.java:147) [httpclient-4.0.jar:4.0] 在 org.apache.http.impl.conn.AbstractPooledConnAdapter.open(AbstractPooledConnAdapter.java:101) [httpclient-4.0.jar:4.0] 在 org.apache.http.impl.client.DefaultRequestDirector.execute(DefaultRequestDirector.java:381) [httpclient-4.0.jar:4.0] 在 org.apache.http.impl.client.AbstractHttpClient.execute(AbstractHttpClient.java:641) [httpclient-4.0.jar:4.0] 在 org.apache.http.impl.client.AbstractHttpClient.execute(AbstractHttpClient.java:576) [httpclient-4.0.jar:4.0]


这很可能是网络管理、更改/配置管理或一般系统管理问题,而不是编程问题。

之前在没有添加该条目的情况下它可以工作,但突然它停止工作了。

一种方法是尝试找出导致其停止工作的变化。这不是那种自发发生的事情。某人或某物更改了某些软件或配置来实现这一点。从它停止的时间(或您注意到的时间)开始,然后回顾您的更改日志。

It 听上去像这是 Java DNS 解析过程的问题。解析器似乎没有尝试与正常的 DNS 服务器通信,或者正在尝试但失败。

我们无法为您调试它,但我发现这些资源有助于解释当您在 Java 中进行名称查找时应该发生什么,并提供一些故障排除的想法。

资源:

  • DNS 和 Java https://web.archive.org/web/20140305161557/java.sys-con.com/node/2879145
  • Java 和 /etc/resolv.conf DNS 服务器故障转移 https://serverfault.com/questions/578082/java-and-etc-resolv-conf-dns-server-failover
  • Java 网络属性 http://docs.oracle.com/javase/8/docs/technotes/guides/net/properties.html
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

来自 Java 的 UnknownHostException 但主机通过 Ping/nslookup/curl 进行解析 的相关文章

  • 在 Java 中连接和使用 Cassandra

    我已经阅读了一些关于 Cassandra 是什么以及它可以做什么的教程 但我的问题是如何在 Java 中与 Cassandra 交互 教程会很好 如果可能的话 有人可以告诉我是否应该使用 Thrift 还是 Hector 哪一个更好以及为什
  • 如何在 Play java 中创建数据库线程池并使用该池进行数据库查询

    我目前正在使用 play java 并使用默认线程池进行数据库查询 但了解使用数据库线程池进行数据库查询可以使我的系统更加高效 目前我的代码是 import play libs Akka import scala concurrent Ex
  • 在画布上绘图

    我正在编写一个 Android 应用程序 它可以在视图的 onDraw 事件上直接绘制到画布上 我正在绘制一些涉及单独绘制每个像素的东西 为此我使用类似的东西 for int x 0 x lt xMax x for int y 0 y lt
  • 如何找到给定字符串的最长重复子串

    我是java新手 我被分配寻找字符串的最长子字符串 我在网上研究 似乎解决这个问题的好方法是实现后缀树 请告诉我如何做到这一点或者您是否有任何其他解决方案 请记住 这应该是在 Java 知识水平较低的情况下完成的 提前致谢 附 测试仪字符串
  • Final字段的线程安全

    假设我有一个 JavaBeanUser这是从另一个线程更新的 如下所示 public class A private final User user public A User user this user user public void
  • 多个 Maven 配置文件激活多个 Spring 配置文件

    我想在 Maven 中构建一个环境 在其中我想根据哪些 Maven 配置文件处于活动状态来累积激活多个 spring 配置文件 目前我的 pom xml 的相关部分如下所示
  • Spark 1.3.1 上的 Apache Phoenix(4.3.1 和 4.4.0-HBase-0.98)ClassNotFoundException

    我正在尝试通过 Spark 连接到 Phoenix 并且在通过 JDBC 驱动程序打开连接时不断收到以下异常 为简洁起见 下面是完整的堆栈跟踪 Caused by java lang ClassNotFoundException org a
  • 反射找不到对象子类型

    我试图通过使用反射来获取包中的所有类 当我使用具体类的代码 本例中为 A 时 它可以工作并打印子类信息 B 扩展 A 因此它打印 B 信息 但是当我将它与对象类一起使用时 它不起作用 我该如何修复它 这段代码的工作原理 Reflection
  • Liferay ClassNotFoundException:DLFileEntryImpl

    在我的 6 1 0 Portal 实例上 带有使用 ServiceBuilder 和 DL Api 的 6 1 0 SDK Portlet 这一行 DynamicQuery query DynamicQueryFactoryUtil for
  • 路径中 File.separator 和斜杠之间的区别

    使用有什么区别File separator和一个正常的 在 Java 路径字符串中 与双反斜杠相反 平台独立性似乎不是原因 因为两个版本都可以在 Windows 和 Unix 下运行 public class SlashTest Test
  • Mockito when().thenReturn 不必要地调用该方法

    我正在研究继承的代码 我编写了一个应该捕获 NullPointerException 的测试 因为它试图从 null 对象调用方法 Test expected NullPointerException class public void c
  • 十进制到八进制的转换[重复]

    这个问题在这里已经有答案了 可能的重复 十进制转换错误 https stackoverflow com questions 13142977 decimal conversion error 我正在为一个类编写一个程序 并且在计算如何将八进
  • 从 127.0.0.1 到 2130706433,然后再返回

    使用标准 Java 库 从 IPV4 地址的点分字符串表示形式获取的最快方法是什么 127 0 0 1 到等效的整数表示 2130706433 相应地 反转所述操作的最快方法是什么 从整数开始2130706433到字符串表示形式 127 0
  • 在两个活动之间传输数据[重复]

    这个问题在这里已经有答案了 我正在尝试在两个不同的活动之间发送和接收数据 我在这个网站上看到了一些其他问题 但没有任何问题涉及保留头等舱的状态 例如 如果我想从 A 类发送一个整数 X 到 B 类 然后对整数 X 进行一些操作 然后将其发送
  • JRE 系统库 [WebSphere v6.1 JRE](未绑定)

    将项目导入 Eclipse 后 我的构建路径中出现以下错误 JRE System Library WebSphere v6 1 JRE unbound 谁知道怎么修它 右键单击项目 特性 gt Java 构建路径 gt 图书馆 gt JRE
  • Google App Engine 如何预编译 Java?

    App Engine 对应用程序的 Java 字节码使用 预编译 过程 以增强应用程序在 Java 运行时环境中的性能 预编译代码的功能与原始字节码相同 有没有详细的信息这是做什么的 我在一个中找到了这个谷歌群组消息 http groups
  • 如何从泛型类调用静态方法?

    我有一个包含静态创建方法的类 public class TestClass public static
  • 声明的包“”与预期的包不匹配

    我可以编译并运行我的代码 但 VSCode 中始终显示错误 早些时候有一个弹出窗口 我不记得是什么了 我点击了 全局应用 从那以后一直是这样 Output is there but so is the error The declared
  • 如何修复 JNLP 应用程序中的“缺少代码库、权限和应用程序名称清单属性”?

    随着最近的 Java 更新 许多人都遇到了缺少 Java Web Start 应用程序的问题Codebase Permissions and Application name体现属性 尽管有资源可以帮助您完成此任务 但我找不到任何资源综合的
  • java.lang.IllegalStateException:驱动程序可执行文件的路径必须由 webdriver.chrome.driver 系统属性设置 - Similiar 不回答

    尝试学习 Selenium 我打开了类似的问题 但似乎没有任何帮助 我的代码 package seleniumPractice import org openqa selenium WebDriver import org openqa s

随机推荐