我有一个使用在AWS HPC上部署的Java 8的spring boot(1.5.4.RELEASE)项目。该项目架构师的范围适用于Spring Web Application(网站),Rest API Services(移动开发人员)和Company的帐户管理。因此,共有3种不同的数据库,例如(2-SQL Server和1-MySQL)。
关于堆栈溢出,我在这里发布我的问题,以寻求有才华的堆栈溢出用户的帮助来实现此Spring-Boot项目的最佳方法。
这是我的配置属性文件。
application.properties
#For Public Website
spring.datasource.clone.web.driver = com.microsoft.sqlserver.jdbc.SQLServerDriver
spring.datasource.clone.web.url = jdbc:sqlserver://127.0.0.01\\dbo:1433;databaseName=PROD_WEB;
# Username and password
spring.datasource.web.username = web
spring.datasource.web.password = ED5FLW64ZU976Q36
#For Rest API
spring.datasource.clone.url = jdbc:mysql://localhost:3306/PROD_REST;
# Username and password
spring.datasource.clone.username = rest
spring.datasource.clone.password = Firewall77#
#For Account Administration for Company Users
spring.datasource.admin.url = jdbc:sqlserver://127.0.0.01\\dbo:1433;databaseName=PROD_ADMIN;
# Username and password
spring.datasource.admin.username = admin
spring.datasource.admin.password = Firewall77#
# Backup & Cron Policy
...
我非常感谢您提出一些很好的实施建议。您对这个问题的了解会帮助我,谢谢。
您需要实现两个不同的beans
,每个数据源一个,并使它们分别具有相应的配置属性:
bean
将负责第一个datasource
配置,并且应声明为primary
with的数据源@Primary
,因此可以将其设置为项目的主要数据源。bean
将配置第二个数据源。这就是它们应在以下方面实现的方式Spring
:
@Bean
@Primary
@ConfigurationProperties(prefix="spring.datasource.web")
public DataSource primaryDataSource() {
return DataSourceBuilder.create().build();
}
@Bean
@ConfigurationProperties(prefix="spring.datasource.rest")
public DataSource secondaryDataSource() {
return DataSourceBuilder.create().build();
}
application.properties
考虑到这两种beans
配置,应按以下步骤进行配置:
#For Public Website
spring.datasource.web.driver = com.microsoft.sqlserver.jdbc.SQLServerDriver
spring.datasource.web.url = jdbc:sqlserver://127.0.0.01\\dbo:1433;databaseName= PROD_WEB;
# Username and password
spring.datasource.web.username = web
spring.datasource.web.password = ED5FLW64ZU976Q36
#For Rest API
spring.datasource.rest.driver = com.microsoft.sqlserver.jdbc.SQLServerDriver
spring.datasource.rest.url = jdbc:mysql://localhost:3306/PROD_REST;
# Username and password
spring.datasource.rest.username = rest
spring.datasource.rest.password = Firewall77#
注意:
我在此处更改了配置属性,以便可以区分它们web
和rest
数据源:
spring.datasource.web
将专用于配置第一个数据源。spring.datasource.rest
将专用于配置第二个数据源。本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句