From aa934121dc74a17bf1f193a102d2a95d53dfec9f Mon Sep 17 00:00:00 2001
From: SerLiunx-ctrl <17689543@qq.com>
Date: Sat, 7 Dec 2024 07:40:59 +0800
Subject: [PATCH] =?UTF-8?q?fix:=20ip=E8=8E=B7=E5=8F=96=E5=BC=82=E5=B8=B8?=
=?UTF-8?q?=E5=AF=BC=E8=87=B4=E7=9A=84=E5=AE=9E=E4=BE=8B=E8=BF=90=E8=A1=8C?=
=?UTF-8?q?=E5=BC=82=E5=B8=B8.?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
.../ddns/constant/IpProviderType.java | 6 ++++
.../ddns/support/SystemInitializer.java | 5 ++--
.../support/ipprovider/ScheduledProvider.java | 2 +-
.../support/thread/TaskThreadFactory.java | 29 -------------------
.../support/thread/UtilThreadFactory.java | 16 ----------
5 files changed, 10 insertions(+), 48 deletions(-)
delete mode 100644 src/main/java/com/serliunx/ddns/support/thread/TaskThreadFactory.java
delete mode 100644 src/main/java/com/serliunx/ddns/support/thread/UtilThreadFactory.java
diff --git a/src/main/java/com/serliunx/ddns/constant/IpProviderType.java b/src/main/java/com/serliunx/ddns/constant/IpProviderType.java
index f039f41..f607f3d 100644
--- a/src/main/java/com/serliunx/ddns/constant/IpProviderType.java
+++ b/src/main/java/com/serliunx/ddns/constant/IpProviderType.java
@@ -1,5 +1,6 @@
package com.serliunx.ddns.constant;
+import com.serliunx.ddns.support.ipprovider.IcanhazipProvider;
import com.serliunx.ddns.support.ipprovider.IpApiProvider;
import com.serliunx.ddns.support.ipprovider.Provider;
@@ -18,6 +19,11 @@ public enum IpProviderType {
*/
IP_API(new IpApiProvider()),
+ /**
+ * ip数据提供商 icanhazip
+ */
+ I_CAN_HAZ_IP(new IcanhazipProvider()),
+
;
private final Provider provider;
diff --git a/src/main/java/com/serliunx/ddns/support/SystemInitializer.java b/src/main/java/com/serliunx/ddns/support/SystemInitializer.java
index ca1e196..26760dc 100644
--- a/src/main/java/com/serliunx/ddns/support/SystemInitializer.java
+++ b/src/main/java/com/serliunx/ddns/support/SystemInitializer.java
@@ -10,7 +10,7 @@ import com.serliunx.ddns.core.context.MultipleSourceInstanceContext;
import com.serliunx.ddns.core.instance.Instance;
import com.serliunx.ddns.support.ipprovider.Provider;
import com.serliunx.ddns.support.ipprovider.ScheduledProvider;
-import com.serliunx.ddns.support.thread.TaskThreadFactory;
+import com.serliunx.ddns.support.thread.ThreadFactoryBuilder;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@@ -166,7 +166,8 @@ public final class SystemInitializer implements Refreshable, Clearable {
private void initThreadPool(int coreSize) {
Assert.isLargerThan(coreSize, 1);
- scheduledThreadPoolExecutor = new ScheduledThreadPoolExecutor(coreSize, new TaskThreadFactory());
+ scheduledThreadPoolExecutor = new ScheduledThreadPoolExecutor(coreSize, ThreadFactoryBuilder.builder()
+ .ofNamePattern("ddns-task-%s"));
// 初始化一个线程保活
scheduledThreadPoolExecutor.submit(() -> {});
diff --git a/src/main/java/com/serliunx/ddns/support/ipprovider/ScheduledProvider.java b/src/main/java/com/serliunx/ddns/support/ipprovider/ScheduledProvider.java
index 415f744..f715360 100644
--- a/src/main/java/com/serliunx/ddns/support/ipprovider/ScheduledProvider.java
+++ b/src/main/java/com/serliunx/ddns/support/ipprovider/ScheduledProvider.java
@@ -112,7 +112,7 @@ public class ScheduledProvider extends AbstractProvider {
internalCache = internalProvider.get();
if (valueConsumer != null) {
- valueConsumer.accept(cache);
+ valueConsumer.accept(internalCache);
}
}, 0, timePeriod, TimeUnit.SECONDS);
}
diff --git a/src/main/java/com/serliunx/ddns/support/thread/TaskThreadFactory.java b/src/main/java/com/serliunx/ddns/support/thread/TaskThreadFactory.java
deleted file mode 100644
index cf4f456..0000000
--- a/src/main/java/com/serliunx/ddns/support/thread/TaskThreadFactory.java
+++ /dev/null
@@ -1,29 +0,0 @@
-package com.serliunx.ddns.support.thread;
-
-import com.serliunx.ddns.support.Assert;
-import org.jetbrains.annotations.NotNull;
-
-import java.util.concurrent.ThreadFactory;
-import java.util.concurrent.atomic.AtomicInteger;
-
-/**
- * 简易的实例活动相关的线程工厂, 仅仅定义了线程的名称规则.
- *
- * @author SerLiunx
- * @version 1.0.0
- * @since 2024/5/15
- */
-public class TaskThreadFactory implements ThreadFactory {
-
- private final AtomicInteger count = new AtomicInteger(0);
-
- @Override
- public Thread newThread(@NotNull Runnable r) {
- Assert.notNull(r);
- return new Thread(r, String.format(getNamePattern(), count.getAndIncrement()));
- }
-
- protected String getNamePattern() {
- return "ddns-task-%s";
- }
-}
diff --git a/src/main/java/com/serliunx/ddns/support/thread/UtilThreadFactory.java b/src/main/java/com/serliunx/ddns/support/thread/UtilThreadFactory.java
deleted file mode 100644
index 5b11135..0000000
--- a/src/main/java/com/serliunx/ddns/support/thread/UtilThreadFactory.java
+++ /dev/null
@@ -1,16 +0,0 @@
-package com.serliunx.ddns.support.thread;
-
-/**
- * 同 {@link TaskThreadFactory}, 暂未使用.
- *
- * @author SerLiunx
- * @version 1.0.0
- * @since 2024/5/15
- */
-public class UtilThreadFactory extends TaskThreadFactory {
-
- @Override
- protected String getNamePattern() {
- return "ddns-util-%s";
- }
-}