【发布时间】:2017-01-25 17:03:35
【问题描述】:
我开始使用 Spring Boot,并且相信我了解如何使用特定于环境的属性文件覆盖属性文件值。例如。如果我有一个 application.properties 文件
spring.datasource.url=jdbc:sybase:Tds:server.co.uk:10010/database_dev
spring.datasource.username=dev_username
spring.datasource.password=dev_password
spring.datasource.driver-class-name=com.sybase.jdbc3.jdbc.SybDriver
还有一个application-test.properties文件
spring.datasource.url=jdbc:sybase:Tds:server.co.uk:10010/database_test
spring.datasource.username=test_username
spring.datasource.password=test_password
如果我将测试配置文件作为 vm arg 传递,用户名、密码和 url 将来自 application-test.properties 文件和驱动程序类名来自 应用程序.properties。
到目前为止一切顺利.....
但是我想做的是
使用 application.properties 在本地运行,使用
spring.datasource.url=jdbc:sybase:Tds:server.co.uk:10010/database_dev
spring.datasource.username=dev_username
spring.datasource.password=dev_password
spring.datasource.driver-class-name=com.sybase.jdbc3.jdbc.SybDriver
但使用 application-test.properties 在测试中运行,请使用
spring.datasource.jndi-name=java:comp/env/jdbc/my_jndi_name
据我了解,问题在于 application-test.properties 文件只会“覆盖”同名的属性,而我需要在 test/ 中以不同的方式访问我的数据源刺激我在当地的表现。
另一种解决方案可能是在本地也使用 jndi althopugh 我不确定如何在 Spring Boot 中使用嵌入式 tomcat 服务器配置它,(我在更高的环境中使用 websphere)
谁能给点建议?
【问题讨论】:
-
你试过了吗...
标签: tomcat spring-boot datasource jndi