From 4c369f3b46d38d23dfe92f5a5a0287edc40b16de Mon Sep 17 00:00:00 2001 From: SerLiunx-ctrl <17689543@qq.com> Date: Mon, 8 Jul 2024 15:54:33 +0800 Subject: [PATCH] =?UTF-8?q?feat:=20=E6=96=B0=E5=A2=9E=E9=85=8D=E7=BD=AE?= =?UTF-8?q?=E4=BF=A1=E6=81=AF=E4=B8=8A=E4=B8=8B=E6=96=87.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../ddns/config/ConfigurationKeys.java | 5 +++ .../ddns/core/instance/AliyunInstance.java | 13 ++++--- .../support/ConfigurationContextHolder.java | 36 +++++++++++++++++++ .../ddns/support/SystemInitializer.java | 1 + src/main/resources/settings.properties | 3 +- 5 files changed, 50 insertions(+), 8 deletions(-) create mode 100644 src/main/java/com/serliunx/ddns/support/ConfigurationContextHolder.java diff --git a/src/main/java/com/serliunx/ddns/config/ConfigurationKeys.java b/src/main/java/com/serliunx/ddns/config/ConfigurationKeys.java index a7b2fd0..345cb1c 100644 --- a/src/main/java/com/serliunx/ddns/config/ConfigurationKeys.java +++ b/src/main/java/com/serliunx/ddns/config/ConfigurationKeys.java @@ -24,4 +24,9 @@ public final class ConfigurationKeys { * 定时任务周期: 获取最新IP */ public static final String KEY_TASK_REFRESH_INTERVAL_IP = "system.task.refresh.interval.ip"; + + /** + * 阿里云解析线路 + */ + public static final String KEY_ALIYUN_ENDPOINT = "instance.aliyun.endpoint.url"; } diff --git a/src/main/java/com/serliunx/ddns/core/instance/AliyunInstance.java b/src/main/java/com/serliunx/ddns/core/instance/AliyunInstance.java index 162d737..71adcc9 100644 --- a/src/main/java/com/serliunx/ddns/core/instance/AliyunInstance.java +++ b/src/main/java/com/serliunx/ddns/core/instance/AliyunInstance.java @@ -8,15 +8,15 @@ import com.fasterxml.jackson.annotation.JsonIgnore; import com.fasterxml.jackson.core.JsonProcessingException; import com.fasterxml.jackson.databind.json.JsonMapper; import com.fasterxml.jackson.dataformat.xml.annotation.JacksonXmlRootElement; +import com.serliunx.ddns.support.ConfigurationContextHolder; import darabonba.core.client.ClientOverrideConfiguration; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; import java.util.concurrent.CompletableFuture; import java.util.concurrent.ExecutionException; import java.util.concurrent.TimeUnit; import java.util.concurrent.TimeoutException; +import static com.serliunx.ddns.config.ConfigurationKeys.KEY_ALIYUN_ENDPOINT; import static com.serliunx.ddns.constant.SystemConstants.XML_ROOT_INSTANCE_NAME; /** @@ -25,7 +25,6 @@ import static com.serliunx.ddns.constant.SystemConstants.XML_ROOT_INSTANCE_NAME; * @version 1.0.0 * @since 2024/5/15 */ -@SuppressWarnings("all") @JacksonXmlRootElement(localName = XML_ROOT_INSTANCE_NAME) public class AliyunInstance extends AbstractInstance { @@ -96,10 +95,10 @@ public class AliyunInstance extends AbstractInstance { .credentialsProvider(provider) .overrideConfiguration( ClientOverrideConfiguration.create() - .setEndpointOverride("alidns.cn-hangzhou.aliyuncs.com") + .setEndpointOverride(ConfigurationContextHolder.getConfiguration().getString(KEY_ALIYUN_ENDPOINT)) ) .build(); - log.debug(getName() + ": 初始化完成."); + log.debug("{}: 初始化完成.", getName()); } @Override @@ -115,7 +114,7 @@ public class AliyunInstance extends AbstractInstance { try { requestResponse.whenComplete((v, t) -> { if (t != null) { //出现异常 - log.error("出现异常 {}:", t.getCause(), t.getMessage()); + log.error("出现异常 {} : {}", t.getCause(), t.getMessage()); } else { String result = null; try { @@ -145,7 +144,7 @@ public class AliyunInstance extends AbstractInstance { } return null; } catch (InterruptedException | ExecutionException e) { - log.error("出现了不应该出现的异常 => {}", e); + log.error("出现了不应该出现的异常 => {}", e.getMessage()); return null; } catch (TimeoutException e) { log.error("记录查询超时!"); diff --git a/src/main/java/com/serliunx/ddns/support/ConfigurationContextHolder.java b/src/main/java/com/serliunx/ddns/support/ConfigurationContextHolder.java new file mode 100644 index 0000000..9432489 --- /dev/null +++ b/src/main/java/com/serliunx/ddns/support/ConfigurationContextHolder.java @@ -0,0 +1,36 @@ +package com.serliunx.ddns.support; + +import com.serliunx.ddns.config.Configuration; + +/** + * 配置信息上下文 + *