我试图在这里解释我的问题JVM appears to cache failed DNS lookups even if caching is "disabled",但现在我想更好地制定它。基本上我们在运行Angstrom Linux的基于ARM的小型设备上运行Java代码(但RHEL6上的行为相同)。
如果我运行已拔下网线的代码,然后在一段时间后插上电缆,程序就会被阻止,永远不会“识别”网络上的变化,即我们正在使用的网络服务总是不成功,尽管ping例如,谷歌从另一个终端工作的那一刻。程序有时甚至会被阻止,因此不会捕获异常。不知怎的,它被困在某个地方。
我尝试调整内部值,例如networkaddress.cache.ttl和networkaddress.cache.negative.ttl,但没有任何改变。很明显,问题出在较低层以及OS和JVM之间的通信中。有什么方法可以做一些潮红,清爽等等......无论如何。
我最终想要的是让JVM在网络设置中遵循操作系统。