1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18 package org.apache.shardingsphere.metadata.persist;
19
20 import org.apache.shardingsphere.infra.config.database.DatabaseConfiguration;
21 import org.apache.shardingsphere.infra.config.rule.RuleConfiguration;
22 import org.apache.shardingsphere.infra.datasource.pool.config.DataSourceConfiguration;
23 import org.apache.shardingsphere.infra.datasource.pool.props.domain.DataSourcePoolProperties;
24 import org.apache.shardingsphere.infra.rule.ShardingSphereRule;
25 import org.apache.shardingsphere.metadata.persist.data.ShardingSphereDataBasedPersistService;
26 import org.apache.shardingsphere.metadata.persist.service.config.database.DatabaseBasedPersistService;
27 import org.apache.shardingsphere.metadata.persist.service.config.global.GlobalPersistService;
28 import org.apache.shardingsphere.metadata.persist.service.database.DatabaseMetaDataBasedPersistService;
29 import org.apache.shardingsphere.metadata.persist.service.version.MetaDataVersionBasedPersistService;
30 import org.apache.shardingsphere.mode.spi.PersistRepository;
31
32 import javax.sql.DataSource;
33 import java.util.Collection;
34 import java.util.Map;
35 import java.util.Properties;
36
37
38
39
40 public interface MetaDataBasedPersistService {
41
42
43
44
45
46
47 PersistRepository getRepository();
48
49
50
51
52
53
54 DatabaseBasedPersistService<Map<String, DataSourcePoolProperties>> getDataSourceUnitService();
55
56
57
58
59
60
61 DatabaseMetaDataBasedPersistService getDatabaseMetaDataService();
62
63
64
65
66
67
68 DatabaseBasedPersistService<Collection<RuleConfiguration>> getDatabaseRulePersistService();
69
70
71
72
73
74
75 GlobalPersistService<Collection<RuleConfiguration>> getGlobalRuleService();
76
77
78
79
80
81
82 GlobalPersistService<Properties> getPropsService();
83
84
85
86
87
88
89 MetaDataVersionBasedPersistService getMetaDataVersionPersistService();
90
91
92
93
94
95
96 ShardingSphereDataBasedPersistService getShardingSphereDataPersistService();
97
98
99
100
101
102
103
104 void persistGlobalRuleConfiguration(Collection<RuleConfiguration> globalRuleConfigs, Properties props);
105
106
107
108
109
110
111
112
113
114 void persistConfigurations(String databaseName, DatabaseConfiguration databaseConfigs, Map<String, DataSource> dataSources, Collection<ShardingSphereRule> rules);
115
116
117
118
119
120
121
122 Map<String, DataSourceConfiguration> loadDataSourceConfigurations(String databaseName);
123 }