package com.fdkankan.scene.config;//package com.fdkankan.scene.config; // //import com.alibaba.cloud.sentinel.SentinelProperties; //import com.alibaba.cloud.sentinel.datasource.config.NacosDataSourceProperties; //import com.alibaba.csp.sentinel.datasource.ReadableDataSource; //import com.alibaba.csp.sentinel.datasource.nacos.NacosDataSource; //import com.alibaba.csp.sentinel.slots.block.degrade.DegradeRule; //import com.alibaba.csp.sentinel.slots.block.degrade.DegradeRuleManager; //import com.alibaba.csp.sentinel.slots.block.flow.FlowRule; //import com.alibaba.csp.sentinel.slots.block.flow.FlowRuleManager; //import com.alibaba.fastjson.JSON; //import com.alibaba.fastjson.TypeReference; //import java.util.List; //import lombok.extern.slf4j.Slf4j; //import org.springframework.beans.factory.annotation.Autowired; //import org.springframework.context.annotation.Bean; //import org.springframework.context.annotation.Configuration; // ///** // *

// * - // *

// * // * @author dengsixing // * @since 2022/2/14 // **/ //@Configuration //@Slf4j //public class DataSourceInitFunc { // // @Autowired // private SentinelProperties sentinelProperties; // // @Bean // public DataSourceInitFunc init() throws Exception { // // log.info("[NacosSource初始化,从Nacos中获取熔断规则]"); // // sentinelProperties.getDatasource().entrySet().stream().filter(map -> { // return map.getValue().getNacos() != null; // }).forEach(map -> { // NacosDataSourceProperties nacos = map.getValue().getNacos(); // // 限流规则,需要Nacos的dataId中包含flow字符串 // if (nacos.getDataId().contains("flow")) { // ReadableDataSource> flowRuleDataSource = new NacosDataSource<>(nacos.getServerAddr(), // nacos.getGroupId(), nacos.getDataId(), // source -> JSON.parseObject(source, new TypeReference>() { // })); // FlowRuleManager.register2Property(flowRuleDataSource.getProperty()); // } // // // 降级规则,需要Nacos的dataId中包含degrade字符串 // if (nacos.getDataId().contains("degrade")) { // ReadableDataSource> degradeRuleDataSource = new NacosDataSource<>(nacos.getServerAddr(), // nacos.getGroupId(), nacos.getDataId(), // source -> JSON.parseObject(source, new TypeReference>() { // })); // DegradeRuleManager.register2Property(degradeRuleDataSource.getProperty()); // } // // }); // return new DataSourceInitFunc(); // } // //}