Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- @Bean
- @ConfigurationProperties(prefix = "spring.datasource.tomcat")
- public DataSource dataSource() {
- Map<Object,Object> resolvedDataSources = new HashMap<>();
- DataSourceBuilder dataSourceBuilder = new DataSourceBuilder(this.getClass().getClassLoader());
- for(String tenant : tenantList){
- dataSourceBuilder.driverClassName("com.mysql.jdbc.Driver")
- .url("jdbc:mysql://db-instance.example.com:3306/" + tenant)
- .username("DB_USER")
- .password("DB_PASSWORD");
- if(properties.getType() != null) {
- dataSourceBuilder.type(properties.getType());
- }
- resolvedDataSources.put(tenant, dataSourceBuilder.build());
- }
- MultitenantDataSource dataSource = new MultitenantDataSource();
- dataSource.setDefaultTargetDataSource(resolvedDataSources.get("database"));
- dataSource.setTargetDataSources(resolvedDataSources);
- dataSource.afterPropertiesSet();
- return dataSource;
- }
- spring.datasource.tomcat.max-wait=10000
- spring.datasource.tomcat.max-active=120
- spring.datasource.tomcat.test-on-borrow=true
- spring.datasource.tomcat.validation-query=SELECT 1
- spring.datasource.tomcat.test-while-idle=true
- spring.datasource.tomcat.remove-abandoned=true
- spring.datasource.tomcat.remove-abandoned-timeout=60
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement