From a96bb4af03aa9426d867d694e9cc7ae0b61c2e8a Mon Sep 17 00:00:00 2001 From: Michael Yang Date: Mon, 13 Jan 2025 10:18:13 +0800 Subject: [PATCH] refactor: close https://github.com/mybatis-flex/mybatis-flex/issues/470 --- .../core/audit/DefaultMessageFactory.java | 14 ++++++++++++-- .../com/mybatisflex/core/audit/http/HttpUtil.java | 4 ++-- 2 files changed, 14 insertions(+), 4 deletions(-) diff --git a/mybatis-flex-core/src/main/java/com/mybatisflex/core/audit/DefaultMessageFactory.java b/mybatis-flex-core/src/main/java/com/mybatisflex/core/audit/DefaultMessageFactory.java index 2f928494..bb84c3ec 100644 --- a/mybatis-flex-core/src/main/java/com/mybatisflex/core/audit/DefaultMessageFactory.java +++ b/mybatis-flex-core/src/main/java/com/mybatisflex/core/audit/DefaultMessageFactory.java @@ -23,14 +23,24 @@ import com.mybatisflex.core.audit.http.HttpUtil; */ public class DefaultMessageFactory implements MessageFactory { - private final String hostIp = HttpUtil.getHostIp(); + private String hostIp; @Override public AuditMessage create() { AuditMessage message = new AuditMessage(); message.setPlatform(FlexConsts.NAME); - message.setHostIp(hostIp); + message.setHostIp(getHostIp()); return message; } + public String getHostIp() { + if (hostIp == null) { + hostIp = HttpUtil.getHostIp(); + } + return hostIp; + } + + public void setHostIp(String hostIp) { + this.hostIp = hostIp; + } } diff --git a/mybatis-flex-core/src/main/java/com/mybatisflex/core/audit/http/HttpUtil.java b/mybatis-flex-core/src/main/java/com/mybatisflex/core/audit/http/HttpUtil.java index e174605b..a3761de8 100644 --- a/mybatis-flex-core/src/main/java/com/mybatisflex/core/audit/http/HttpUtil.java +++ b/mybatis-flex-core/src/main/java/com/mybatisflex/core/audit/http/HttpUtil.java @@ -58,8 +58,8 @@ public class HttpUtil { if (networkInterface.isLoopback() || networkInterface.isVirtual() || !networkInterface.isUp()) { continue; } - for (Enumeration addrs = networkInterface.getInetAddresses(); addrs.hasMoreElements(); ) { - InetAddress addr = addrs.nextElement(); + for (Enumeration addresses = networkInterface.getInetAddresses(); addresses.hasMoreElements(); ) { + InetAddress addr = addresses.nextElement(); if (addr instanceof Inet4Address) { return addr.getHostAddress(); }