Build the running mode through Java API.
Class name: org.apache.shardingsphere.infra.config.mode.ModeConfiguration
Attributes:
Name | DataType | Description | Default Value |
---|---|---|---|
type | String | Type of mode configuration Values could be: Standalone or Cluster |
Standalone |
repository | PersistRepositoryConfiguration | Persist repository configuration Standalone type uses StandalonePersistRepositoryConfiguration Cluster type uses ClusterPersistRepositoryConfiguration |
Class name: org.apache.shardingsphere.mode.repository.standalone.StandalonePersistRepositoryConfiguration
Attributes:
Name | DataType | Description |
---|---|---|
type | String | Type of persist repository |
props | Properties | Properties of persist repository |
Class name: org.apache.shardingsphere.mode.repository.cluster.ClusterPersistRepositoryConfiguration
Attributes:
Name | Data Type | Description |
---|---|---|
type | String | Type of persist repository |
namespace | String | Namespace of registry center |
server-lists | String | Server lists of registry center |
props | Properties | Properties of persist repository |
ZooKeeper
registry center is recommended for cluster mode deployment.ZooKeeper
, please refer to the config information there.<dependency>
<groupId>org.apache.shardingsphere</groupId>
<artifactId>shardingsphere-jdbc-core-spring-boot-starter</artifactId>
<version>${latest.release.version}</version>
</dependency>
Notice: Please change
${latest.release.version}
to the actual version.
ModeConfiguration modeConfig = createModeConfiguration();
Map<String, DataSource> dataSourceMap = ... // Building real data sources
Collection<RuleConfiguration> ruleConfigs = ... // Build specific rules
Properties props = ... // Build property configuration
DataSource dataSource = ShardingSphereDataSourceFactory.createDataSource(databaseName, modeConfig, dataSourceMap, ruleConfigs, props);
private ModeConfiguration createModeConfiguration() {
return new ModeConfiguration("Standalone", new StandalonePersistRepositoryConfiguration("JDBC", new Properties()));
}
ModeConfiguration modeConfig = createModeConfiguration();
Map<String, DataSource> dataSourceMap = ... // Building real data sources
Collection<RuleConfiguration> ruleConfigs = ... // Build specific rules
Properties props = ... // Build property configuration
DataSource dataSource = ShardingSphereDataSourceFactory.createDataSource(databaseName, modeConfig, dataSourceMap, ruleConfigs, props);
private ModeConfiguration createModeConfiguration() {
return new ModeConfiguration("Cluster", new ClusterPersistRepositoryConfiguration("ZooKeeper", "governance-sharding-db", "localhost:2181", new Properties()));
}