修改configType设置为yaml,没有正确初始化全局配置的问题

This commit is contained in:
heng 2023-10-10 14:38:58 +08:00
parent 5ec641c35d
commit e2fde737bf
2 changed files with 32 additions and 28 deletions

View File

@ -9,6 +9,7 @@ import org.dromara.sms4j.api.SmsBlend;
import org.dromara.sms4j.api.universal.SupplierConfig; import org.dromara.sms4j.api.universal.SupplierConfig;
import org.dromara.sms4j.cloopen.config.CloopenFactory; import org.dromara.sms4j.cloopen.config.CloopenFactory;
import org.dromara.sms4j.comm.constant.Constant; import org.dromara.sms4j.comm.constant.Constant;
import org.dromara.sms4j.comm.enumerate.ConfigType;
import org.dromara.sms4j.comm.utils.SmsUtils; import org.dromara.sms4j.comm.utils.SmsUtils;
import org.dromara.sms4j.core.factory.SmsFactory; import org.dromara.sms4j.core.factory.SmsFactory;
import org.dromara.sms4j.core.proxy.SmsInvocationHandler; import org.dromara.sms4j.core.proxy.SmsInvocationHandler;
@ -51,6 +52,7 @@ public class SmsBlendsInitializer {
this.registerDefaultFactory(); this.registerDefaultFactory();
// 注册短信对象工厂 // 注册短信对象工厂
ProviderFactoryHolder.registerFactory(factoryList); ProviderFactoryHolder.registerFactory(factoryList);
if(ConfigType.YAML.equals(this.smsConfig.getConfigType())) {
// 解析供应商配置 // 解析供应商配置
for(String configId : blends.keySet()) { for(String configId : blends.keySet()) {
Map<String, Object> configMap = blends.get(configId); Map<String, Object> configMap = blends.get(configId);
@ -72,6 +74,7 @@ public class SmsBlendsInitializer {
SmsFactory.createSmsBlend(supplierConfig); SmsFactory.createSmsBlend(supplierConfig);
} }
} }
}
//注册短信拦截实现 //注册短信拦截实现
SmsInvocationHandler.setRestrictedProcess(new SpringRestrictedProcess()); SmsInvocationHandler.setRestrictedProcess(new SpringRestrictedProcess());

View File

@ -13,7 +13,9 @@ import java.util.Map;
public class SupplierConfig { public class SupplierConfig {
/** 注入配置*/ /**
* 注入配置
*/
@Bean @Bean
@ConfigurationProperties(prefix = "sms.blends") @ConfigurationProperties(prefix = "sms.blends")
@ConditionalOnProperty(prefix = "sms", name = "config-type", havingValue = "yaml") @ConditionalOnProperty(prefix = "sms", name = "config-type", havingValue = "yaml")
@ -23,7 +25,6 @@ public class SupplierConfig {
@Bean @Bean
@ConditionalOnProperty(prefix = "sms", name = "config-type", havingValue = "yaml")
protected SmsBlendsInitializer smsBlendsInitializer(List<BaseProviderFactory<? extends SmsBlend, ? extends org.dromara.sms4j.api.universal.SupplierConfig>> factoryList, protected SmsBlendsInitializer smsBlendsInitializer(List<BaseProviderFactory<? extends SmsBlend, ? extends org.dromara.sms4j.api.universal.SupplierConfig>> factoryList,
SmsConfig smsConfig, SmsConfig smsConfig,
Map<String, Map<String, Object>> blends) { Map<String, Map<String, Object>> blends) {