diff --git a/sms4j-spring-boot-starter/src/main/java/org/dromara/sms4j/starter/config/SmsAutowiredConfig.java b/sms4j-spring-boot-starter/src/main/java/org/dromara/sms4j/starter/config/SmsAutowiredConfig.java index bbf01889..3eeb03cc 100644 --- a/sms4j-spring-boot-starter/src/main/java/org/dromara/sms4j/starter/config/SmsAutowiredConfig.java +++ b/sms4j-spring-boot-starter/src/main/java/org/dromara/sms4j/starter/config/SmsAutowiredConfig.java @@ -63,33 +63,8 @@ public class SmsAutowiredConfig { return new SupplierConfig(); } -// @Bean -// @ConditionalOnProperty(prefix = "sms", name = "config-type", havingValue = "sql_config") -// protected SupplierSqlConfig supplierSqlConfig(SmsSqlConfig smsSqlConfig) throws SQLException { -// DataSource bean = SmsSpringUtil.getBean(DataSource.class); -// if (!Objects.isNull(bean)){ -// BeanFactory.getJDBCTool().setConnection(bean.getConnection()); -// } -// return new SupplierSqlConfig(); -// } - @PostConstruct - void init(){ - // /* 如果配置中启用了redis,则注入redis工具*/ - // if (BeanFactory.getSmsConfig().getRedisCache()){ - // //如果用户没有实现RedisUtil接口则注入默认的实现 - // if (!SmsSpringUtil.interfaceExist(SmsRedisUtil.class)){ - // smsSpringUtil.createBean(SmsRedisUtils.class); - // } - // SmsInvocationHandler.setRestrictedProcess(new RestrictedProcessImpl()); - // log.debug("The redis cache is enabled for sms4j"); - // } - // // 将spring中存在的所有配置,设置到配置工厂,并添加至负载均衡器 - // Map beansOfType = SmsSpringUtil.getBeansOfType(org.dromara.sms4j.api.universal.SupplierConfig.class); - // for (org.dromara.sms4j.api.universal.SupplierConfig s : beansOfType.values()) { - // SupplierFactory.setSupplierConfig(s); - // } - + void init() { //打印banner if (BeanFactory.getSmsConfig().getIsPrint()){ SmsBanner.PrintBanner(Constant.VERSION); diff --git a/sms4j-spring-boot-starter/src/main/java/org/dromara/sms4j/starter/config/SmsBlendsInitializer.java b/sms4j-spring-boot-starter/src/main/java/org/dromara/sms4j/starter/config/SmsBlendsInitializer.java index 09549280..e6df0ea9 100644 --- a/sms4j-spring-boot-starter/src/main/java/org/dromara/sms4j/starter/config/SmsBlendsInitializer.java +++ b/sms4j-spring-boot-starter/src/main/java/org/dromara/sms4j/starter/config/SmsBlendsInitializer.java @@ -7,9 +7,6 @@ import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; import org.dromara.sms4j.aliyun.config.AlibabaFactory; import org.dromara.sms4j.api.SmsBlend; -import org.dromara.sms4j.api.dao.SmsDao; -import org.dromara.sms4j.api.dao.SmsDaoDefaultImpl; -import org.dromara.sms4j.api.proxy.RestrictedProcess; import org.dromara.sms4j.api.universal.SupplierConfig; import org.dromara.sms4j.cloopen.config.CloopenFactory; import org.dromara.sms4j.comm.constant.Constant; @@ -29,24 +26,27 @@ import org.dromara.sms4j.tencent.config.TencentFactory; import org.dromara.sms4j.unisms.config.UniFactory; import org.dromara.sms4j.yunpian.config.YunPianFactory; import org.dromara.sms4j.zhutong.config.ZhutongFactory; +import org.springframework.context.ApplicationListener; +import org.springframework.context.event.ContextRefreshedEvent; import org.springframework.stereotype.Component; -import javax.annotation.PostConstruct; import java.util.List; import java.util.Map; @Component @RequiredArgsConstructor @Slf4j -public class SmsBlendsInitializer { +public class SmsBlendsInitializer implements ApplicationListener { private final List> factoryList; private final SmsConfig smsConfig; private final Map> blends; - @PostConstruct - public void initBlends() { + public void onApplicationEvent(ContextRefreshedEvent event) { + if (event.getApplicationContext().getParent() != null) { + return; + } this.registerDefaultFactory(); // 注册短信对象工厂 ProviderFactoryHolder.registerFactory(factoryList);