1. import org.slf4j.LoggerFactory;
    2. import org.springframework.beans.factory.annotation.Qualifier;
    3. import org.springframework.boot.context.properties.ConfigurationProperties;
    4. import org.springframework.boot.jdbc.DataSourceBuilder;
    5. import org.springframework.context.annotation.Bean;
    6. import org.springframework.context.annotation.Configuration;
    7. import org.springframework.context.annotation.Primary;
    8. import javax.sql.DataSource;
    9. /**
    10. * @author robot
    11. */
    12. @Configuration
    13. public class DbConfiguration {
    14. @Bean(name = "alarmDataSource")
    15. @Primary
    16. @ConfigurationProperties(prefix = "spring.datasource")
    17. public DataSource alarmDataSource() {
    18. return DataSourceBuilder.create().build();
    19. }
    20. @Bean(name = "profileDataSource")
    21. @ConfigurationProperties(prefix = "spring.datasource2")
    22. public DataSource profileDataSource() {
    23. return DataSourceBuilder.create().build();
    24. }
    25. /**
    26. * 告警中心的db
    27. */
    28. @Bean(value = "alarmDb")
    29. public Neo alarmDb(@Qualifier("alarmDataSource")DataSource alarmDataSource) {
    30. try {
    31. Neo neo = Neo.connect(alarmDataSource);
    32. // 关闭 explain 解析
    33. neo.setExplainFlag(false);
    34. // 关闭 sql 耗时监控
    35. neo.setMonitorFlag(false);
    36. // 开启日志打印
    37. // neo.setLogPrint(true);
    38. // 关闭 sql 规范校验
    39. neo.setStandardFlag(false);
    40. return neo;
    41. } catch (Exception e) {
    42. LoggerFactory.getLogger(getClass()).warn("neo初始化异常", e);
    43. return new Neo();
    44. }
    45. }
    46. /**
    47. * 环境变量的db
    48. */
    49. @Bean(value = "profileDb")
    50. public Neo profileDb(@Qualifier("profileDataSource") DataSource profileDataSource) {
    51. try {
    52. Neo neo = Neo.connect(profileDataSource);
    53. // 关闭 explain 解析
    54. neo.setExplainFlag(false);
    55. // 关闭 sql 耗时监控
    56. neo.setMonitorFlag(false);
    57. // 开启日志打印
    58. // neo.setLogPrint(true);
    59. // 关闭 sql 规范校验
    60. neo.setStandardFlag(false);
    61. return neo;
    62. } catch (Exception e) {
    63. LoggerFactory.getLogger(getClass()).warn("neo初始化异常", e);
    64. return new Neo();
    65. }
    66. }
    67. }
    1. spring:
    2. application:
    3. name: isc-alarm-service
    4. datasource:
    5. jdbcUrl: jdbc:mysql://xxx:xxxx/xxxx?useUnicode=true&characterEncoding=UTF-8&useAffectedRows=true&allowMultiQueries=true&useSSL=false&AppName=${spring.application.name}&AppVersion=1.0&AppSignature=NA&serverTimezone=Asia/Shanghai
    6. username: xxx
    7. password: xxx
    8. driver-class-name: com.mysql.cj.jdbc.Driver
    9. type: com.zaxxer.hikari.HikariDataSource
    10. hikari:
    11. auto-commit: true
    12. idle-timeout: 180000
    13. pool-name: panda.server-HikariCP
    14. max-lifetime: 1800000
    15. connection-timeout: 30000
    16. connection-test-query: SELECT 1
    17. maximum-pool-size: 10
    18. minimum-idle: 10
    19. datasource2:
    20. jdbcUrl: jdbc:mysql://xxxx:xxx/xxx?useUnicode=true&characterEncoding=UTF-8&useAffectedRows=true&allowMultiQueries=true&useSSL=false&AppName=${spring.application.name}&AppVersion=1.0&AppSignature=NA&serverTimezone=Asia/Shanghai
    21. username: xxxx
    22. password: xxxx
    23. driver-class-name: com.mysql.cj.jdbc.Driver
    24. type: com.zaxxer.hikari.HikariDataSource
    25. hikari:
    26. auto-commit: true
    27. idle-timeout: 180000
    28. pool-name: panda.server-HikariCP
    29. max-lifetime: 1800000
    30. connection-timeout: 30000
    31. connection-test-query: SELECT 1
    32. maximum-pool-size: 10
    33. minimum-idle: 10