我在使用多个数据源时遇到了一个问题。我扩展了AbstractRoutingDataSource并将其创建为bean.like:
@Configuration
public class JpaConfiguration{
@Bean
public void DataSource dataSource(){
return new AbstractRoutingDataSource(){...}
}
在我的yml文件中,我设置了spring.jpa.hibernate.ddl-auto update。
spring:
...
jpa:
我的设置如下:
我有一个SpringBoot2.1.1应用程序。对于连接池,使用Hikari。
我想在一个事务/方法中编写一个服务,它将读取路由到读取器数据库,并写入主数据库。
所以我想让以下几个人开始工作:
@Transactional
public test(Test test){
Optional<Res> result = myRepo.findByAttr(test.getTest()); //do that on reader database
validateIfResultExists(result);
myRepo.save(test)
对于我的新项目,我构建了一个基本的rest,以便在客户端请求时返回数据。但是,客户端必须选择自己选择的数据库作为HTTP请求的参数。
现在我的问题是,我不知道如何使用Sprint。我知道我们可以提供许多不同的数据源,但是如何在检查请求之后更改所需的数据源呢?
下面是我的数据源配置,它运行得很好:
@Configuration
public class DataSourceConfig {
@Bean
@Primary
@ConfigurationProperties(prefix="datasource.dev21")
public DataS