From e70ca1b704f9a244f6d6d585dceeda8885bdcd11 Mon Sep 17 00:00:00 2001 From: xuxueli <931591021@qq.com> Date: Sat, 18 Jan 2025 16:27:16 +0800 Subject: [PATCH] =?UTF-8?q?=E3=80=90=E4=BC=98=E5=8C=96=E3=80=91IP=E8=8E=B7?= =?UTF-8?q?=E5=8F=96=E9=80=BB=E8=BE=91=E4=BC=98=E5=8C=96=EF=BC=8C=E4=BC=98?= =?UTF-8?q?=E5=85=88=E9=81=8D=E5=8E=86=E7=BD=91=E5=8D=A1=E6=9D=A5=E8=8E=B7?= =?UTF-8?q?=E5=8F=96=E5=8F=AF=E7=94=A8IP=EF=BC=9B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- doc/XXL-JOB官方文档.md | 7 +++--- .../java/com/xxl/job/core/util/IpUtil.java | 23 +++++++++++-------- 2 files changed, 17 insertions(+), 13 deletions(-) diff --git a/doc/XXL-JOB官方文档.md b/doc/XXL-JOB官方文档.md index 8be46a38..77264981 100644 --- a/doc/XXL-JOB官方文档.md +++ b/doc/XXL-JOB官方文档.md @@ -2440,9 +2440,10 @@ public void execute() { - c、下个大版本(v3.0)将会基于 jdk17 与 springboot3.x 构建; ### 7.37 版本 v3.0.0 Release Notes[规划中] -- 1、调度中心升级至 SpringBoot3 + JDK17; -- 2、Docker镜像升级,镜像构建基于JDK17(openjdk:17-jdk-slim); -- 3、[规划中]登陆态Token生成逻辑优化,混淆登陆时间属性,降低token泄漏风险; +- 1、【升级】调度中心升级至 SpringBoot3 + JDK17; +- 2、【升级】Docker镜像升级,镜像构建基于JDK17(openjdk:17-jdk-slim); +- 3、【优化】IP获取逻辑优化,优先遍历网卡来获取可用IP; +- 4、[规划中]登陆态Token生成逻辑优化,混淆登陆时间属性,降低token泄漏风险; ### TODO LIST diff --git a/xxl-job-core/src/main/java/com/xxl/job/core/util/IpUtil.java b/xxl-job-core/src/main/java/com/xxl/job/core/util/IpUtil.java index c97c4fea..d63f3dd8 100644 --- a/xxl-job-core/src/main/java/com/xxl/job/core/util/IpUtil.java +++ b/xxl-job-core/src/main/java/com/xxl/job/core/util/IpUtil.java @@ -98,16 +98,7 @@ public class IpUtil { private static InetAddress getLocalAddress0() { InetAddress localAddress = null; - try { - localAddress = InetAddress.getLocalHost(); - InetAddress addressItem = toValidAddress(localAddress); - if (addressItem != null) { - return addressItem; - } - } catch (Throwable e) { - logger.error(e.getMessage(), e); - } - + // 1、prefer filter NetworkInterface try { Enumeration interfaces = NetworkInterface.getNetworkInterfaces(); if (null == interfaces) { @@ -143,6 +134,18 @@ public class IpUtil { } catch (Throwable e) { logger.error(e.getMessage(), e); } + + // 2、getLocalAddress + try { + localAddress = InetAddress.getLocalHost(); + InetAddress addressItem = toValidAddress(localAddress); + if (addressItem != null) { + return addressItem; + } + } catch (Throwable e) { + logger.error(e.getMessage(), e); + } + return localAddress; }