线程由于InetAddress.getLocalHost()而被锁定



我在SpringBoot应用程序的日志过滤器中使用它,由于InetAddress.getLocalHost(),几乎所有主线程都处于锁定状态。。可能的原因是什么?我该如何解决这个问题?

private void populateMandatoryDetailsFromRequest(final HttpServletRequest httpServletRequest)
throws UnknownHostException {
ThreadContext.put(CO_HOST_ADDRESS.value(), InetAddress.getLocalHost().getHostAddress());
ThreadContext.put(CO_REQUEST_URI.value(), httpServletRequest.getRequestURI());
}

这让我很惊讶。我只能猜测这与getLocalHost()进行DNS名称查找以获得IP地址有关。你可以试试

httpServletRequest.getLocalAddr()

而不是

,如果它会在你的用例中给你相同的IP。

最新更新