feat:add Tencent Cloud TSF support.

pull/1317/head
Haotian Zhang 1 year ago
parent 3b7fea111a
commit d1e0dfe64d

@ -29,6 +29,8 @@ import org.springframework.core.env.Environment;
* @author juanyinyang
*/
public interface PolarisConfigCustomExtensionLayer {
boolean isEnabled();
void initRegisterConfig(PolarisConfigPropertyAutoRefresher polarisConfigPropertyAutoRefresher);
void initConfigFiles(Environment environment, CompositePropertySource compositePropertySource, ConfigFileService configFileService);

@ -30,20 +30,25 @@ import org.slf4j.LoggerFactory;
public final class PolarisServiceLoaderUtil {
private static final Logger LOGGER = LoggerFactory.getLogger(PolarisServiceLoaderUtil.class);
private PolarisServiceLoaderUtil() {
}
// this class provides customized logic for some customers to configure special business group files
private static PolarisConfigCustomExtensionLayer polarisConfigCustomExtensionLayer;
static {
ServiceLoader<PolarisConfigCustomExtensionLayer> polarisConfigCustomExtensionLayerLoader = ServiceLoader.load(PolarisConfigCustomExtensionLayer.class);
Iterator<PolarisConfigCustomExtensionLayer> polarisConfigCustomExtensionLayerIterator = polarisConfigCustomExtensionLayerLoader.iterator();
// Generally, there is only one implementation class. If there are multiple, the last one is loaded
while (polarisConfigCustomExtensionLayerIterator.hasNext()) {
polarisConfigCustomExtensionLayer = polarisConfigCustomExtensionLayerIterator.next();
LOGGER.info("[SCT Config] PolarisConfigFileLocator init polarisConfigCustomExtensionLayer:{}", polarisConfigCustomExtensionLayer);
PolarisConfigCustomExtensionLayer temp = polarisConfigCustomExtensionLayerIterator.next();
if (temp.isEnabled()) {
polarisConfigCustomExtensionLayer = temp;
LOGGER.info("[SCT Config] PolarisConfigFileLocator init polarisConfigCustomExtensionLayer:{}", polarisConfigCustomExtensionLayer);
}
}
}
private PolarisServiceLoaderUtil() {
}
public static PolarisConfigCustomExtensionLayer getPolarisConfigCustomExtensionLayer() {
return polarisConfigCustomExtensionLayer;
}

@ -18,9 +18,7 @@
package com.tencent.cloud.polaris.config.tsf;
import com.tencent.cloud.polaris.config.ConditionalOnPolarisConfigEnabled;
import com.tencent.cloud.polaris.config.adapter.PolarisConfigCustomExtensionLayer;
import com.tencent.cloud.polaris.config.config.PolarisConfigProperties;
import com.tencent.cloud.polaris.config.tsf.adaptor.PolarisAdaptorTsfConfigExtensionLayer;
import com.tencent.cloud.polaris.config.tsf.controller.PolarisAdaptorTsfConfigController;
import com.tencent.cloud.polaris.context.tsf.ConditionalOnTsfEnabled;
import com.tencent.cloud.polaris.context.tsf.config.TsfCoreProperties;
@ -33,8 +31,6 @@ import org.springframework.boot.autoconfigure.condition.ConditionalOnMissingBean
import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.core.Ordered;
import org.springframework.core.annotation.Order;
/**
* @author juanyinyang
@ -53,13 +49,6 @@ public class PolarisAdaptorTsfConfigAutoConfiguration {
"[SCTT Config] PolarisAdaptorTsfConfigAutoConfiguration init set spring.cloud.polaris.config.refresh-type to refresh_context");
}
@Bean
@ConditionalOnMissingBean
@Order(Ordered.HIGHEST_PRECEDENCE)
public PolarisConfigCustomExtensionLayer polarisAdaptorTsfConfigProcessCallback() {
return new PolarisAdaptorTsfConfigExtensionLayer();
}
@Bean
@ConditionalOnMissingBean
@ConditionalOnProperty(name = "spring.cloud.consul.config.watch.enabled", matchIfMissing = true)

@ -84,6 +84,16 @@ public class PolarisAdaptorTsfConfigExtensionLayer implements PolarisConfigCusto
private PolarisConfigPropertyAutoRefresher polarisConfigPropertyAutoRefresher;
@Override
public boolean isEnabled() {
// tse_polaris_enable
String tsePolarisEnable = System.getenv("tse_polaris_enable");
if (StringUtils.isBlank(tsePolarisEnable)) {
tsePolarisEnable = System.getProperty("tse_polaris_enable", "false");
}
return StringUtils.equals(tsePolarisEnable, "true");
}
/**
* @see PolarisConfigCustomExtensionLayer#initConfigFiles(CompositePropertySource,
* PolarisPropertySourceManager,

Loading…
Cancel
Save