多个数据源是骆驼弹簧启动无法正常工作

时间:2018-08-20 19:45:21

标签: spring-boot apache-camel camel-sql

在我的应用程序中,我必须连接到2个数据库。 我将属性设置为

spring.datasource.url=jdbc:oracle:thin:@host1:1521/service1
spring.datasource.username=intuser
spring.datasource.password=password
spring.datasource.driver-class-name=oracle.jdbc.driver.OracleDriver
spring.datasource.pool-size=30

db2.datasource.url=jdbc:oracle:thin:@host1:1521/service2
d2.datasource.username=intuser
db2.datasource.password=password
db2.datasource.driver-class-name=oracle.jdbc.driver.OracleDriver
db2.datasource.pool-size=30

Bean是

@Configuration
public class DBConnectionBean {
@Bean
@Primary
@ConfigurationProperties("spring.datasource")
public DataSourceProperties firstDataSourceProperties() {
    return new DataSourceProperties();
}

@Bean(name = "datasource1")
@Primary
@ConfigurationProperties("spring.datasource")
public DataSource firstDataSource() {
    return firstDataSourceProperties().initializeDataSourceBuilder().build();
}

@Bean
@ConfigurationProperties("db2.datasource")
public DataSourceProperties secondDataSourceProperties() {
    return new DataSourceProperties();
}

@Bean(name = "datasource2")
@ConfigurationProperties("db2.datasource")
public DataSource secondDataSource() {
    return secondDataSourceProperties().initializeDataSourceBuilder().build();
}
}

我的骆驼路线就像

from("seda:queue1").to("sql:{{sql.insert_Data}}?dataSource=datasource1");
from("seda:queue2").to("sql:{{sql.Fetch_Data}}?dataSource=datasource2").log("DATA :  ${body}");

好像datasource2绑定到datasource1创建的db连接。因为出现错误ORA-00942:表或视图不存在。如果我切换@Primary标记,则第一个数据库插入无效。但是两者都有建议吗?

0 个答案:

没有答案