Skip to content

Instantly share code, notes, and snippets.

@HDBandit
Created May 24, 2016 10:34
Show Gist options
  • Save HDBandit/6b9ada4082224f8a19f15ccc042ff882 to your computer and use it in GitHub Desktop.
Save HDBandit/6b9ada4082224f8a19f15ccc042ff882 to your computer and use it in GitHub Desktop.
@Configuration
@EnableConfigurationProperties(MultitenancyConfigurationProperties.class)
public class MultitenancyConfiguration {
@Autowired
private MultitenancyConfigurationProperties multitenancyProperties;
@Bean(name = "multitenantProvider")
public DataSourceBasedMultiTenantConnectionProviderImpl dataSourceBasedMultiTenantConnectionProvider() {
HashMap<String, DataSource> dataSources = new HashMap<String, DataSource>();
multitenancyProperties.getTenants().stream().forEach(tc -> dataSources.put(tc.getName(), DataSourceBuilder
.create()
.driverClassName(tc.getDriverClassName())
.username(tc.getUsername())
.password(tc.getPassword())
.url(tc.getUrl()).build()));
return new DataSourceBasedMultiTenantConnectionProviderImpl(multitenancyProperties.getDefaultTenant().getName(), dataSources);
}
@Bean
@DependsOn("multitenantProvider")
public DataSource defaultDataSource() {
return dataSourceBasedMultiTenantConnectionProvider().getDefaultDataSource();
}
}
@elex-fu
Copy link

elex-fu commented May 24, 2016

执行

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment