Advertisement
Guest User

Untitled

a guest
Jan 30th, 2017
345
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.23 KB | None | 0 0
  1. @Bean
  2. @ConfigurationProperties(prefix = "spring.datasource.tomcat")
  3. public DataSource dataSource() {
  4.  
  5. Map<Object,Object> resolvedDataSources = new HashMap<>();
  6. DataSourceBuilder dataSourceBuilder = new DataSourceBuilder(this.getClass().getClassLoader());
  7.  
  8. for(String tenant : tenantList){
  9. dataSourceBuilder.driverClassName("com.mysql.jdbc.Driver")
  10. .url("jdbc:mysql://db-instance.example.com:3306/" + tenant)
  11. .username("DB_USER")
  12. .password("DB_PASSWORD");
  13. if(properties.getType() != null) {
  14. dataSourceBuilder.type(properties.getType());
  15. }
  16. resolvedDataSources.put(tenant, dataSourceBuilder.build());
  17. }
  18. MultitenantDataSource dataSource = new MultitenantDataSource();
  19. dataSource.setDefaultTargetDataSource(resolvedDataSources.get("database"));
  20. dataSource.setTargetDataSources(resolvedDataSources);
  21. dataSource.afterPropertiesSet();
  22. return dataSource;
  23. }
  24.  
  25. spring.datasource.tomcat.max-wait=10000
  26. spring.datasource.tomcat.max-active=120
  27. spring.datasource.tomcat.test-on-borrow=true
  28. spring.datasource.tomcat.validation-query=SELECT 1
  29. spring.datasource.tomcat.test-while-idle=true
  30. spring.datasource.tomcat.remove-abandoned=true
  31. spring.datasource.tomcat.remove-abandoned-timeout=60
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement