我的application.properties中有这些文件:
spring.first.datasource.jdbc-url=jdbc:oracle:thin:first-datasource-url
spring.first.datasource.username=user1
spring.first.datasource.password=pass1
spring.first.datasource.driver-class-name=oracle.jdbc.OracleDriver
spring.second.datasource.jdbc-url=jdbc:oracle:thin:second-datasource-url
spring.second.datasource.username=user2
spring.second.datasource.password=pass2
spring.second.datasource.driver-class-name=oracle.jdbc.OracleDriver
问题在于,一个数据库与ojdbc6兼容,而另一个与ojbc8兼容。 有什么方法可以使每个DataSource配置的版本或jar明确显示?
这是我的配置文件:
@Configuration
@EnableTransactionmanagement
@EnableJpaRepositories(
entityManagerFactoryRef = "firstEntityManagerFactory",transactionmanagerRef = "firstTransactionmanager",)
public class FirstConfiguration {
@Bean(name = "firstdataSource")
@ConfigurationProperties(prefix = "spring.first.datasource")
public DataSource dataSource() {
return DataSourceBuilder.create().build();
}
@Bean(name = "firstEntityManagerFactory")
public LocalContainerEntityManagerFactoryBean barEntityManagerFactory(EntityManagerFactoryBuilder builder,@Qualifier("firstdataSource") DataSource dataSource) {
return builder.dataSource(dataSource).build();
}
@Bean(name = "firstTransactionmanager")
public PlatformTransactionmanager firstTransactionmanager(
@Qualifier("firstEntityManagerFactory") EntityManagerFactory firstEntityManagerFactory) {
return new JpaTransactionmanager(firstEntityManagerFactory);
}
@Bean(name = "firstJdbcTemplate")
public JdbcTemplate jdbcTemplateFirst(@Qualifier("firstdataSource") DataSource dataSource) {
return new JdbcTemplate(dataSource);
}
}