public MasterSlaveRule(MasterSlaveRuleConfiguration config) { Name = config.Name; MasterDataSourceName = config.MasterDataSourceName; SlaveDataSourceNames = config.SlaveDataSourceNames; LoadBalanceAlgorithm = CreateMasterSlaveLoadBalanceAlgorithm(config.LoadBalanceStrategyConfiguration); RuleConfiguration = config; }
public MasterSlaveRule(string name, string masterDataSourceName, List <string> slaveDataSourceNames, IMasterSlaveLoadBalanceAlgorithm loadBalanceAlgorithm) { this.Name = name; this.MasterDataSourceName = masterDataSourceName; this.SlaveDataSourceNames = slaveDataSourceNames; this.LoadBalanceAlgorithm = null == loadBalanceAlgorithm ? new MasterSlaveLoadBalanceAlgorithmServiceLoader().NewService() : loadBalanceAlgorithm; RuleConfiguration = new MasterSlaveRuleConfiguration(name, masterDataSourceName, slaveDataSourceNames, new LoadBalanceStrategyConfiguration(this.LoadBalanceAlgorithm.GetAlgorithmType(), this.LoadBalanceAlgorithm.GetProperties())); }