有没有办法在运行时刷新Java应用程序的DNS服务器详细信息?
我们有一个应用程序,它使用主机名连接到不同的应用程序。 如果我更改运行应用程序的系统的DNS服务器,应用程序将以“java.net.UnknownHostException”开始失败。 但是从系统中,我可以使用FQDN向不同的应用程序发送ping请求。 要使DNS服务器更改生效,我们必须重新启动应用程序有没有办法在运行时刷新Java应用程序的DNS服务器详细信息?,java,linux,dns,fqdn,Java,Linux,Dns,Fqdn,我们有一个应用程序,它使用主机名连接到不同的应用程序。 如果我更改运行应用程序的系统的DNS服务器,应用程序将以“java.net.UnknownHostException”开始失败。 但是从系统中,我可以使用FQDN向不同的应用程序发送ping请求。 要使DNS服务器更改生效,我们必须重新启动应用程序 Java中是否有任何方法可以在运行时刷新DNS服务器详细信息?您可以使用3种解决方案关闭Java的DNS缓存: 解决方案1: 使用此标志启动程序: -Dsun.net.inetaddr.ttl=
Java中是否有任何方法可以在运行时刷新DNS服务器详细信息?您可以使用3种解决方案关闭Java的DNS缓存: 解决方案1: 使用此标志启动程序:
-Dsun.net.inetaddr.ttl=0
解决方案2:
在java代码的顶部使用setProperty
java.security.Security.setProperty("networkaddress.cache.ttl" , "0")
解决方案3:
在$JRE_HOME/lib/security/java.security
集合中:
networkaddress.cache.ttl = 0
networkaddress.cache.negative.ttl = 0
您可以使用3种解决方案关闭Java dns缓存: 解决方案1: 使用此标志启动程序:
-Dsun.net.inetaddr.ttl=0
解决方案2:
在java代码的顶部使用setProperty
java.security.Security.setProperty("networkaddress.cache.ttl" , "0")
解决方案3:
在$JRE_HOME/lib/security/java.security
集合中:
networkaddress.cache.ttl = 0
networkaddress.cache.negative.ttl = 0
我们需要更多的信息。这是什么类型的服务器?哪些服务开始出现故障(例如数据库连接池)?它是所有类型的服务吗?它是一个运行web应用程序的tomcat服务器。通过此应用程序,我们使用FQDN连接到web应用程序。请允许我们为您搜索,这直接导致我们需要更多的信息。这是什么类型的服务器?哪些服务开始出现故障(例如数据库连接池)?它是所有类型的服务吗?它是一个运行web应用程序的tomcat服务器。通过此应用程序,我们使用FQDN连接到web应用程序。请允许我们为您搜索,这直接导致