Spring 启动 application.yml 全局设置数据源 属性,被忽略
Spring Boot application.yml set datasource property globally, being ignored
我有一个 Spring Boot 1.5 应用程序,它配置了一个 application.yml
文件。
我需要管理默认的连接池 - Tomcat.
问题是 application.yml
有多个数据源的 datasources
属性。
我的全局 datasource.max-active=10
(更新:datasource.tomcat.max-active=10
也被忽略)被完全忽略(我创建了一个测试来查看正在注入的数据源,其中的默认 maxActive
设置为 100) .我必须将它分别添加到每个数据源,以使池按照我需要的方式工作。
application.yml
看起来像这样(这只是其中的一部分),它使用 maxActive=10
创建数据源,但是有一堆重复:
spring:
.... #bunch of stuff, deleted for simplicity
datasource: #Added by me, ignored by Spring
max-active: 10 #Added by me, ignored by Spring
datasources:
datasource1:
url: jdbc:mysql://url:port1
max-active: 10 #Added by me, works
datasource2:
url: jdbc:mysql://url:port2
max-active: 10 #Added by me, works
问题:全局设置 max-active
属性 以避免重复的正确方法是什么?
谢谢。
当您使用多个数据源时,spring 引导不提供默认数据源自动配置。这也意味着您必须为每个数据源提供连接池属性。我认为不可能在全球范围内设置它。
相反,您可以使用占位符设置一次并在所有地方使用它。
custom:
max-active: 10
spring:
datasources:
datasource1:
url: jdbc:mysql://url:port1
max-active: ${custom.max-active}
datasource2:
url: jdbc:mysql://url:port2
max-active: ${custom.max-active}
您可以在此处找到更多信息:
我有一个 Spring Boot 1.5 应用程序,它配置了一个 application.yml
文件。
我需要管理默认的连接池 - Tomcat.
问题是 application.yml
有多个数据源的 datasources
属性。
我的全局 datasource.max-active=10
(更新:datasource.tomcat.max-active=10
也被忽略)被完全忽略(我创建了一个测试来查看正在注入的数据源,其中的默认 maxActive
设置为 100) .我必须将它分别添加到每个数据源,以使池按照我需要的方式工作。
application.yml
看起来像这样(这只是其中的一部分),它使用 maxActive=10
创建数据源,但是有一堆重复:
spring:
.... #bunch of stuff, deleted for simplicity
datasource: #Added by me, ignored by Spring
max-active: 10 #Added by me, ignored by Spring
datasources:
datasource1:
url: jdbc:mysql://url:port1
max-active: 10 #Added by me, works
datasource2:
url: jdbc:mysql://url:port2
max-active: 10 #Added by me, works
问题:全局设置 max-active
属性 以避免重复的正确方法是什么?
谢谢。
当您使用多个数据源时,spring 引导不提供默认数据源自动配置。这也意味着您必须为每个数据源提供连接池属性。我认为不可能在全球范围内设置它。 相反,您可以使用占位符设置一次并在所有地方使用它。
custom:
max-active: 10
spring:
datasources:
datasource1:
url: jdbc:mysql://url:port1
max-active: ${custom.max-active}
datasource2:
url: jdbc:mysql://url:port2
max-active: ${custom.max-active}
您可以在此处找到更多信息: