From cd9d0ca270aeff76c7e90c375732e924b93c5be2 Mon Sep 17 00:00:00 2001 From: terrymanu Date: Wed, 1 Nov 2017 18:56:04 +0800 Subject: [PATCH] refactor orchestration listener --- ...hestrationSpringMasterSlaveDataSource.java | 3 +-- ...OrchestrationSpringShardingDataSource.java | 3 +-- .../OrchestrationMasterSlaveDataSource.java | 3 +-- .../OrchestrationShardingDataSource.java | 3 +-- .../internal/config/ConfigurationService.java | 20 ++++++------------- 5 files changed, 10 insertions(+), 22 deletions(-) diff --git a/sharding-jdbc-orchestration-spring/sharding-jdbc-orchestration-spring-namespace/src/main/java/io/shardingjdbc/orchestration/spring/datasource/OrchestrationSpringMasterSlaveDataSource.java b/sharding-jdbc-orchestration-spring/sharding-jdbc-orchestration-spring-namespace/src/main/java/io/shardingjdbc/orchestration/spring/datasource/OrchestrationSpringMasterSlaveDataSource.java index 6ca51282e1..d2f91c98c3 100644 --- a/sharding-jdbc-orchestration-spring/sharding-jdbc-orchestration-spring-namespace/src/main/java/io/shardingjdbc/orchestration/spring/datasource/OrchestrationSpringMasterSlaveDataSource.java +++ b/sharding-jdbc-orchestration-spring/sharding-jdbc-orchestration-spring-namespace/src/main/java/io/shardingjdbc/orchestration/spring/datasource/OrchestrationSpringMasterSlaveDataSource.java @@ -59,8 +59,7 @@ public class OrchestrationSpringMasterSlaveDataSource extends MasterSlaveDataSou * initial orchestration spring master-slave data source. */ public void init() { - configurationService.persistMasterSlaveConfiguration(config); - configurationService.addMasterSlaveConfigurationChangeListener(this); + configurationService.persistMasterSlaveConfiguration(config, this); instanceStateService.addMasterSlaveInstanceOnline(this); } diff --git a/sharding-jdbc-orchestration-spring/sharding-jdbc-orchestration-spring-namespace/src/main/java/io/shardingjdbc/orchestration/spring/datasource/OrchestrationSpringShardingDataSource.java b/sharding-jdbc-orchestration-spring/sharding-jdbc-orchestration-spring-namespace/src/main/java/io/shardingjdbc/orchestration/spring/datasource/OrchestrationSpringShardingDataSource.java index d3dae1da40..3695c91cf8 100644 --- a/sharding-jdbc-orchestration-spring/sharding-jdbc-orchestration-spring-namespace/src/main/java/io/shardingjdbc/orchestration/spring/datasource/OrchestrationSpringShardingDataSource.java +++ b/sharding-jdbc-orchestration-spring/sharding-jdbc-orchestration-spring-namespace/src/main/java/io/shardingjdbc/orchestration/spring/datasource/OrchestrationSpringShardingDataSource.java @@ -68,8 +68,7 @@ public class OrchestrationSpringShardingDataSource extends ShardingDataSource im * initial orchestration spring sharding data source. */ public void init() { - configurationService.persistShardingConfiguration(config, props); - configurationService.addShardingConfigurationChangeListener(this); + configurationService.persistShardingConfiguration(config, props, this); instanceStateService.persistShardingInstanceOnline(this); } diff --git a/sharding-jdbc-orchestration/src/main/java/io/shardingjdbc/orchestration/api/datasource/OrchestrationMasterSlaveDataSource.java b/sharding-jdbc-orchestration/src/main/java/io/shardingjdbc/orchestration/api/datasource/OrchestrationMasterSlaveDataSource.java index c2881d84fa..62b5cd9a41 100644 --- a/sharding-jdbc-orchestration/src/main/java/io/shardingjdbc/orchestration/api/datasource/OrchestrationMasterSlaveDataSource.java +++ b/sharding-jdbc-orchestration/src/main/java/io/shardingjdbc/orchestration/api/datasource/OrchestrationMasterSlaveDataSource.java @@ -54,8 +54,7 @@ public class OrchestrationMasterSlaveDataSource { * Initial orchestration master-slave data source. */ public void init() { - configurationService.persistMasterSlaveConfiguration(config); - configurationService.addMasterSlaveConfigurationChangeListener(dataSource); + configurationService.persistMasterSlaveConfiguration(config, dataSource); instanceStateService.addMasterSlaveInstanceOnline(dataSource); } } diff --git a/sharding-jdbc-orchestration/src/main/java/io/shardingjdbc/orchestration/api/datasource/OrchestrationShardingDataSource.java b/sharding-jdbc-orchestration/src/main/java/io/shardingjdbc/orchestration/api/datasource/OrchestrationShardingDataSource.java index 7f27cd026e..d91c5ef136 100644 --- a/sharding-jdbc-orchestration/src/main/java/io/shardingjdbc/orchestration/api/datasource/OrchestrationShardingDataSource.java +++ b/sharding-jdbc-orchestration/src/main/java/io/shardingjdbc/orchestration/api/datasource/OrchestrationShardingDataSource.java @@ -58,8 +58,7 @@ public class OrchestrationShardingDataSource { * Initial orchestration master-slave data source. */ public void init() { - configurationService.persistShardingConfiguration(config, new Properties()); - configurationService.addShardingConfigurationChangeListener(dataSource); + configurationService.persistShardingConfiguration(config, props, dataSource); instanceStateService.persistShardingInstanceOnline(dataSource); } } diff --git a/sharding-jdbc-orchestration/src/main/java/io/shardingjdbc/orchestration/internal/config/ConfigurationService.java b/sharding-jdbc-orchestration/src/main/java/io/shardingjdbc/orchestration/internal/config/ConfigurationService.java index 18275ab35e..49fc6c098a 100644 --- a/sharding-jdbc-orchestration/src/main/java/io/shardingjdbc/orchestration/internal/config/ConfigurationService.java +++ b/sharding-jdbc-orchestration/src/main/java/io/shardingjdbc/orchestration/internal/config/ConfigurationService.java @@ -60,10 +60,11 @@ public final class ConfigurationService { * @param config orchestration sharding configuration * @param props sharding properties */ - public void persistShardingConfiguration(final OrchestrationShardingConfiguration config, final Properties props) { + public void persistShardingConfiguration(final OrchestrationShardingConfiguration config, final Properties props, final ShardingDataSource shardingDataSource) { persistShardingRuleConfiguration(config.getShardingRuleConfig(), config.isOverwrite()); persistShardingProperties(props, config.isOverwrite()); persistDataSourceConfiguration(config.getDataSourceMap(), config.isOverwrite()); + addShardingConfigurationChangeListener(shardingDataSource); } private void persistShardingRuleConfiguration(final ShardingRuleConfiguration config, final boolean isOverwrite) { @@ -84,12 +85,7 @@ public final class ConfigurationService { } } - /** - * Add sharding configuration change listener. - * - * @param shardingDataSource sharding datasource - */ - public void addShardingConfigurationChangeListener(final ShardingDataSource shardingDataSource) { + private void addShardingConfigurationChangeListener(final ShardingDataSource shardingDataSource) { addShardingConfigurationNodeChangeListener(ConfigurationNode.DATA_SOURCE_NODE_PATH, shardingDataSource); addShardingConfigurationNodeChangeListener(ConfigurationNode.SHARDING_NODE_PATH, shardingDataSource); addShardingConfigurationNodeChangeListener(ConfigurationNode.PROPS_NODE_PATH, shardingDataSource); @@ -117,9 +113,10 @@ public final class ConfigurationService { * * @param config orchestration master-slave configuration */ - public void persistMasterSlaveConfiguration(final OrchestrationMasterSlaveConfiguration config) { + public void persistMasterSlaveConfiguration(final OrchestrationMasterSlaveConfiguration config, final MasterSlaveDataSource masterSlaveDataSource) { persistMasterSlaveRuleConfiguration(config.getMasterSlaveRuleConfiguration(), config.isOverwrite()); persistDataSourceConfiguration(config.getDataSourceMap(), config.isOverwrite()); + addMasterSlaveConfigurationChangeListener(masterSlaveDataSource); } private void persistMasterSlaveRuleConfiguration(final MasterSlaveRuleConfiguration config, final boolean isOverwrite) { @@ -128,12 +125,7 @@ public final class ConfigurationService { } } - /** - * Add sharding configuration change listener. - * - * @param masterSlaveDataSource master-slave datasource - */ - public void addMasterSlaveConfigurationChangeListener(final MasterSlaveDataSource masterSlaveDataSource) { + private void addMasterSlaveConfigurationChangeListener(final MasterSlaveDataSource masterSlaveDataSource) { addMasterSlaveConfigurationChangeListener(ConfigurationNode.DATA_SOURCE_NODE_PATH, masterSlaveDataSource); addMasterSlaveConfigurationChangeListener(ConfigurationNode.MASTER_SLAVE_NODE_PATH, masterSlaveDataSource); } -- GitLab