diff --git a/pom.xml b/pom.xml index 15ccf4b2e..683590a16 100644 --- a/pom.xml +++ b/pom.xml @@ -115,6 +115,11 @@ hutool-crypto ${hutool-all.version} + + cn.hutool + hutool-core + ${hutool-all.version} + com.aizuda snail-job-client-retry-core diff --git a/snail-job-common/snail-job-common-core/src/main/java/com/aizuda/snailjob/common/core/alarm/email/GlobalMailAccount.java b/snail-job-common/snail-job-common-core/src/main/java/com/aizuda/snailjob/common/core/alarm/email/GlobalMailAccount.java deleted file mode 100644 index 9cdfa6105..000000000 --- a/snail-job-common/snail-job-common-core/src/main/java/com/aizuda/snailjob/common/core/alarm/email/GlobalMailAccount.java +++ /dev/null @@ -1,46 +0,0 @@ -package com.aizuda.snailjob.common.core.alarm.email; - -import cn.hutool.core.io.IORuntimeException; - -/** - * 全局邮件帐户,依赖于邮件配置文件{@link MailAccount#MAIL_SETTING_PATHS} - * - * @author looly - */ -public enum GlobalMailAccount { - INSTANCE; - - private final MailAccount mailAccount; - - /** - * 构造 - */ - GlobalMailAccount() { - mailAccount = createDefaultAccount(); - } - - /** - * 获得邮件帐户 - * - * @return 邮件帐户 - */ - public MailAccount getAccount() { - return this.mailAccount; - } - - /** - * 创建默认帐户 - * - * @return MailAccount - */ - private MailAccount createDefaultAccount() { - for (String mailSettingPath : MailAccount.MAIL_SETTING_PATHS) { - try { - return new MailAccount(mailSettingPath); - } catch (IORuntimeException ignore) { - //ignore - } - } - return null; - } -} diff --git a/snail-job-common/snail-job-common-core/src/main/java/com/aizuda/snailjob/common/core/alarm/email/Mail.java b/snail-job-common/snail-job-common-core/src/main/java/com/aizuda/snailjob/common/core/alarm/email/Mail.java index 17cebd2ea..238f57b53 100644 --- a/snail-job-common/snail-job-common-core/src/main/java/com/aizuda/snailjob/common/core/alarm/email/Mail.java +++ b/snail-job-common/snail-job-common-core/src/main/java/com/aizuda/snailjob/common/core/alarm/email/Mail.java @@ -4,6 +4,7 @@ import cn.hutool.core.builder.Builder; import cn.hutool.core.io.FileUtil; import cn.hutool.core.io.IORuntimeException; import cn.hutool.core.io.IoUtil; +import cn.hutool.core.lang.Assert; import cn.hutool.core.util.ArrayUtil; import cn.hutool.core.util.ObjectUtil; import cn.hutool.core.util.StrUtil; @@ -22,6 +23,7 @@ import jakarta.mail.util.ByteArrayDataSource; import java.io.*; import java.nio.charset.Charset; import java.util.Date; +import java.util.Objects; /** * 邮件发送客户端 @@ -89,32 +91,17 @@ public class Mail implements Builder { return new Mail(mailAccount); } - /** - * 创建邮件客户端,使用全局邮件帐户 - * - * @return Mail - */ - public static Mail create() { - return new Mail(); - } // --------------------------------------------------------------- Constructor start - /** - * 构造,使用全局邮件帐户 - */ - public Mail() { - this(GlobalMailAccount.INSTANCE.getAccount()); - } - /** * 构造 * - * @param mailAccount 邮件帐户,如果为null使用默认配置文件的全局邮件配置 + * @param mailAccount 邮件帐户 */ public Mail(MailAccount mailAccount) { - mailAccount = (null != mailAccount) ? mailAccount : GlobalMailAccount.INSTANCE.getAccount(); - this.mailAccount = mailAccount.defaultIfEmpty(); + Assert.notNull(mailAccount, () -> new MailException("邮件账号不能为空")); + this.mailAccount = mailAccount; } // --------------------------------------------------------------- Constructor end diff --git a/snail-job-common/snail-job-common-core/src/main/java/com/aizuda/snailjob/common/core/alarm/email/MailAccount.java b/snail-job-common/snail-job-common-core/src/main/java/com/aizuda/snailjob/common/core/alarm/email/MailAccount.java index f144c24e5..1eb838ad7 100644 --- a/snail-job-common/snail-job-common-core/src/main/java/com/aizuda/snailjob/common/core/alarm/email/MailAccount.java +++ b/snail-job-common/snail-job-common-core/src/main/java/com/aizuda/snailjob/common/core/alarm/email/MailAccount.java @@ -3,7 +3,6 @@ package com.aizuda.snailjob.common.core.alarm.email; import cn.hutool.core.util.CharsetUtil; import cn.hutool.core.util.ObjectUtil; import cn.hutool.core.util.StrUtil; -import cn.hutool.setting.Setting; import java.io.Serial; import java.io.Serializable; @@ -39,14 +38,10 @@ public class MailAccount implements Serializable { // System Properties private static final String SPLIT_LONG_PARAMS = "mail.mime.splitlongparameters"; - //private static final String ENCODE_FILE_NAME = "mail.mime.encodefilename"; - //private static final String CHARSET = "mail.mime.charset"; // 其他 private static final String MAIL_DEBUG = "mail.debug"; - public static final String[] MAIL_SETTING_PATHS = new String[]{"config/mail.setting", "config/mailAccount.setting", "mail.setting"}; - /** * SMTP服务器域名 */ @@ -142,23 +137,6 @@ public class MailAccount implements Serializable { public MailAccount() { } - /** - * 构造 - * - * @param settingPath 配置文件路径 - */ - public MailAccount(String settingPath) { - this(new Setting(settingPath)); - } - - /** - * 构造 - * - * @param setting 配置文件 - */ - public MailAccount(Setting setting) { - setting.toBean(this); - } // -------------------------------------------------------------- Constructor end diff --git a/snail-job-common/snail-job-common-core/src/main/java/com/aizuda/snailjob/common/core/alarm/strategy/EmailAlarm.java b/snail-job-common/snail-job-common-core/src/main/java/com/aizuda/snailjob/common/core/alarm/strategy/EmailAlarm.java index 4809a95ae..7effc4d30 100644 --- a/snail-job-common/snail-job-common-core/src/main/java/com/aizuda/snailjob/common/core/alarm/strategy/EmailAlarm.java +++ b/snail-job-common/snail-job-common-core/src/main/java/com/aizuda/snailjob/common/core/alarm/strategy/EmailAlarm.java @@ -1,22 +1,14 @@ package com.aizuda.snailjob.common.core.alarm.strategy; -import com.aizuda.snailjob.common.core.alarm.SnailJobAlarmFactory; import com.aizuda.snailjob.common.core.alarm.attribute.EmailAttribute; import com.aizuda.snailjob.common.core.alarm.email.MailAccount; import com.aizuda.snailjob.common.core.alarm.email.MailProperties; -import com.aizuda.snailjob.common.core.context.SpringContext; import com.aizuda.snailjob.common.core.util.MailUtils; import com.aizuda.snailjob.common.core.enums.AlarmTypeEnum; import com.aizuda.snailjob.common.core.alarm.AlarmContext; import com.aizuda.snailjob.common.core.util.JsonUtil; import com.aizuda.snailjob.common.log.SnailJobLog; import lombok.RequiredArgsConstructor; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.boot.autoconfigure.condition.ConditionalOnClass; -import org.springframework.context.annotation.DependsOn; -import org.springframework.context.annotation.Lazy; -import org.springframework.core.env.Environment; -import org.springframework.core.env.StandardEnvironment; import org.springframework.stereotype.Component; import java.util.List; diff --git a/snail-job-common/snail-job-common-log/pom.xml b/snail-job-common/snail-job-common-log/pom.xml index 23d0cd0f7..9a8ca31ce 100644 --- a/snail-job-common/snail-job-common-log/pom.xml +++ b/snail-job-common/snail-job-common-log/pom.xml @@ -28,10 +28,6 @@ provided - - cn.hutool - hutool-extra - org.springframework.boot spring-boot-starter-log4j2 @@ -42,6 +38,10 @@ log4j true + + cn.hutool + hutool-core + diff --git a/snail-job-common/snail-job-common-log/src/main/resources/META-INF/services/com.aizuda.snail.job.common.log.factory.LogFactory b/snail-job-common/snail-job-common-log/src/main/resources/META-INF/services/com.aizuda.snailjob.common.log.factory.LogFactory similarity index 100% rename from snail-job-common/snail-job-common-log/src/main/resources/META-INF/services/com.aizuda.snail.job.common.log.factory.LogFactory rename to snail-job-common/snail-job-common-log/src/main/resources/META-INF/services/com.aizuda.snailjob.common.log.factory.LogFactory