我在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。