提交 9dfd3468 作者: 方治民

refactor: 新增 UptimeConfig 来在项目启动时分析 domain 配置

上级 74370269
server:
address: 127.0.0.1
#server:
# address: 127.0.0.1
# Sentry
sentry:
......@@ -45,3 +45,7 @@ management:
enabled: true
os:
enabled: true
# Uptime Kuma 服务地址
uptime:
domain: https://uptime.yiring.com
......@@ -12,6 +12,7 @@ dependencies {
// hutool-extra
implementation "cn.hutool:hutool-extra:${hutoolVersion}"
implementation "cn.hutool:hutool-http:${hutoolVersion}"
// fastjson
implementation "com.alibaba.fastjson2:fastjson2:${fastJsonVersion}"
......
/* (C) 2023 YiRing, Inc. */
package com.yiring.common.annotation;
import com.yiring.common.util.Uptime;
import com.yiring.common.utils.Uptime;
import java.lang.annotation.ElementType;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
......
......@@ -7,7 +7,7 @@ import com.yiring.common.annotation.UptimePush;
import com.yiring.common.core.Redis;
import com.yiring.common.core.UptimeNotice;
import com.yiring.common.exception.UptimeException;
import com.yiring.common.util.Uptime;
import com.yiring.common.utils.Uptime;
import java.util.ArrayList;
import java.util.List;
import java.util.Objects;
......
/* (C) 2024 YiRing, Inc. */
package com.yiring.common.config;
import cn.hutool.core.util.StrUtil;
import jakarta.annotation.PostConstruct;
import lombok.AccessLevel;
import lombok.Data;
import lombok.experimental.FieldDefaults;
import lombok.extern.slf4j.Slf4j;
import org.springframework.boot.context.properties.ConfigurationProperties;
import org.springframework.context.annotation.Configuration;
import org.springframework.core.annotation.Order;
/**
* @author Jim
*/
@Slf4j
@Data
@FieldDefaults(level = AccessLevel.PRIVATE)
@Order(99999999)
@Configuration
@ConfigurationProperties(prefix = "uptime")
public class UptimeConfig {
/**
* Uptime 服务域名
*/
String domain;
@PostConstruct
public void init() {
String defaultUptimeDomain = "https://uptime.yiring.com";
if (StrUtil.isBlank(domain)) {
domain = defaultUptimeDomain;
log.info(
"[Uptime Config] No `uptime.domain` configuration detected, using default domain: {}",
defaultUptimeDomain
);
} else {
log.info("[Uptime Config] Uptime domain: {}", domain);
}
}
}
......@@ -2,7 +2,7 @@
package com.yiring.common.core;
import com.fasterxml.jackson.annotation.JsonInclude;
import com.yiring.common.util.Uptime;
import com.yiring.common.utils.Uptime;
import java.io.Serial;
import java.io.Serializable;
import lombok.AccessLevel;
......
/* (C) 2024 YiRing, Inc. */
package com.yiring.common.util;
package com.yiring.common.utils;
import cn.hutool.core.util.StrUtil;
import cn.hutool.extra.spring.SpringUtil;
import cn.hutool.http.HttpUtil;
import com.yiring.common.config.UptimeConfig;
import java.util.Objects;
import lombok.Getter;
import lombok.experimental.UtilityClass;
......@@ -20,18 +21,8 @@ public class Uptime {
static String UPTIME_DOMAIN;
static {
String defaultUptimeDomain = "https://uptime.yiring.com";
String domain = SpringUtil.getProperty("uptime.domain");
if (StrUtil.isBlank(domain)) {
domain = defaultUptimeDomain;
log.warn(
"[Uptime Config] No `uptime.domain` configuration detected, using default domain: {}",
defaultUptimeDomain
);
}
UPTIME_DOMAIN = domain;
UptimeConfig config = SpringUtil.getBean(UptimeConfig.class);
UPTIME_DOMAIN = config.getDomain();
}
/**
......
......@@ -12,6 +12,5 @@ dependencies {
// hutool
implementation "cn.hutool:hutool-core:${hutoolVersion}"
implementation "cn.hutool:hutool-http:${hutoolVersion}"
implementation "cn.hutool:hutool-extra:${hutoolVersion}"
}
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论