Advertisement
Guest User

Untitled

a guest
May 12th, 2016
116
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 5.73 KB | None | 0 0
  1. Caused by: org.springframework.beans.factory.NoUniqueBeanDefinitionException: No qualifying bean of type [javax.sql.DataSource] is defined: expected single matching bean but found 2: hikari_primary,hikari_secondary
  2.  
  3. spring.datasource.dataSourceClassName=com.microsoft.sqlserver.jdbc.SQLServerDataSource
  4.  
  5.  
  6. primary.spring.datasource.url=jdbc:sqlserver://xxx.xxx.xxx.xxx:1433;DatabaseName=training
  7. primary.spring.datasource.username=training
  8. primary.spring.datasource.password=training
  9. primary.spring.datasource.poolName=hikari_primary
  10. primary.spring.datasource.maximumPoolSize=5
  11. primary.spring.datasource.minimumIdle=3
  12. primary.spring.datasource.maxLifetime=2000000
  13. primary.spring.datasource.connectionTimeout=30000
  14. primary.spring.datasource.idleTimeout=30000
  15. primary.spring.datasource.pool-prepared-statements=true
  16. primary.spring.datasource.max-open-prepared-statements=250
  17.  
  18. secondary.spring.datasource.url=jdbc:sqlserver://xxx.xxx.xxx.xxx:1433;DatabaseName=dev_xxxxx_core_v3
  19. secondary.spring.datasource.username=developer
  20. secondary.spring.datasource.password=Developer
  21. secondary.spring.datasource.poolName=hikari_secondary
  22. secondary.spring.datasource.maximumPoolSize=50
  23. secondary.spring.datasource.minimumIdle=30
  24. secondary.spring.datasource.maxLifetime=2000000
  25. secondary.spring.datasource.connectionTimeout=30000
  26. secondary.spring.datasource.idleTimeout=30000
  27. secondary.spring.datasource.pool-prepared-statements=true
  28. secondary.spring.datasource.max-open-prepared-statements=300
  29.  
  30. @Configuration
  31. public class PrimaryDataSourceConfig {
  32.  
  33. @Value("${primary.spring.datasource.username}")
  34. private String user;
  35.  
  36. @Value("${primary.spring.datasource.password}")
  37. private String password;
  38.  
  39. @Value("${primary.spring.datasource.url}")
  40. private String dataSourceUrl;
  41.  
  42. @Value("${spring.datasource.dataSourceClassName}")
  43. private String dataSourceClassName;
  44.  
  45. @Value("${primary.spring.datasource.poolName}")
  46. private String poolName;
  47.  
  48. @Value("${primary.spring.datasource.connectionTimeout}")
  49. private int connectionTimeout;
  50.  
  51. @Value("${primary.spring.datasource.maxLifetime}")
  52. private int maxLifetime;
  53.  
  54. @Value("${primary.spring.datasource.maximumPoolSize}")
  55. private int maximumPoolSize;
  56.  
  57. @Value("${primary.spring.datasource.minimumIdle}")
  58. private int minimumIdle;
  59.  
  60. @Value("${primary.spring.datasource.idleTimeout}")
  61. private int idleTimeout;
  62.  
  63. @Bean(name="hikari_primary")
  64. public HikariDataSource getHikariDataSourcePrimary() {
  65. Properties dsProps = new Properties();
  66. dsProps.put("url", dataSourceUrl);
  67. dsProps.put("user", user);
  68. dsProps.put("password", password);
  69.  
  70. Properties configProps = new Properties();
  71. configProps.put("dataSourceClassName", dataSourceClassName);
  72. configProps.put("poolName", poolName);
  73. configProps.put("maximumPoolSize", maximumPoolSize);
  74. configProps.put("minimumIdle", minimumIdle);
  75. configProps.put("minimumIdle", minimumIdle);
  76. configProps.put("connectionTimeout", connectionTimeout);
  77. configProps.put("idleTimeout", idleTimeout);
  78. configProps.put("dataSourceProperties", dsProps);
  79.  
  80. HikariConfig hc = new HikariConfig(configProps);
  81. HikariDataSource ds = new HikariDataSource(hc);
  82. return ds;
  83. }
  84. }
  85.  
  86. @Configuration
  87. public class SecondaryDataSourceConfig {
  88.  
  89.  
  90. @Value("${secondary.spring.datasource.username}")
  91. private String user;
  92.  
  93. @Value("${secondary.spring.datasource.password}")
  94. private String password;
  95.  
  96. @Value("${secondary.spring.datasource.url}")
  97. private String dataSourceUrl;
  98.  
  99. @Value("${spring.datasource.dataSourceClassName}")
  100. private String dataSourceClassName;
  101.  
  102. @Value("${secondary.spring.datasource.poolName}")
  103. private String poolName;
  104.  
  105. @Value("${secondary.spring.datasource.connectionTimeout}")
  106. private int connectionTimeout;
  107.  
  108. @Value("${secondary.spring.datasource.maxLifetime}")
  109. private int maxLifetime;
  110.  
  111. @Value("${secondary.spring.datasource.maximumPoolSize}")
  112. private int maximumPoolSize;
  113.  
  114. @Value("${secondary.spring.datasource.minimumIdle}")
  115. private int minimumIdle;
  116.  
  117. @Value("${secondary.spring.datasource.idleTimeout}")
  118. private int idleTimeout;
  119.  
  120.  
  121. @Bean(name="hikari_secondary")
  122. public HikariDataSource getHikariDataSourceSecondary() {
  123. Properties dsProps = new Properties();
  124. dsProps.put("url", dataSourceUrl);
  125. dsProps.put("user", user);
  126. dsProps.put("password", password);
  127.  
  128. Properties configProps = new Properties();
  129. configProps.put("dataSourceClassName", dataSourceClassName);
  130. configProps.put("poolName", poolName);
  131. configProps.put("maximumPoolSize", maximumPoolSize);
  132. configProps.put("minimumIdle", minimumIdle);
  133. configProps.put("minimumIdle", minimumIdle);
  134. configProps.put("connectionTimeout", connectionTimeout);
  135. configProps.put("idleTimeout", idleTimeout);
  136. configProps.put("dataSourceProperties", dsProps);
  137.  
  138. HikariConfig hc = new HikariConfig(configProps);
  139. HikariDataSource ds = new HikariDataSource(hc);
  140. return ds;
  141. }
  142. }
  143.  
  144. @SpringBootApplication
  145. @ComponentScan("com.xxxx.springsql2o")
  146. @EnableAutoConfiguration
  147. public class Application
  148. {
  149. public static void main( String[] args )
  150. {
  151. SpringApplication.run(Application.class, args);
  152.  
  153. }
  154.  
  155. @Autowired
  156. @Qualifier("hikari_primary")
  157. DataSource hikariDataSourcePrimary;
  158.  
  159. @Autowired
  160. @Qualifier("hikari_secondary")
  161. DataSource hikariDataSourceSecondary;
  162.  
  163.  
  164. @Bean(name= "primary_db")
  165. public Sql2o getPrimarySql2o()
  166. {
  167. return new Sql2o(hikariDataSourcePrimary);
  168. }
  169.  
  170. @Bean(name= "secondary_db")
  171. public Sql2o getSecondarySql2o()
  172. {
  173. return new Sql2o(hikariDataSourceSecondary);
  174. }
  175. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement