Springboot - JPA在hikarconfig中将用户名设置为系统ID,而不是提供的用户名。

问题描述 投票:0回答:0

Springboot JPA可以工作,配置如下

spring.datasource.url=jdbc:oracle:thin:@ldap://severname:1522/dbname,cn=OracleContext,dc=uk,dc=csfb,dc=com
spring.datasource.username=Someusername
spring.datasource.password=Somepassword
spring.datasource.driver-class-name=oracle.jdbc.driver.OracleDriver

但当我把config定义为

db.url=jdbc:oracle:thin:@ldap://severname:1522/dbname,cn=OracleContext,dc=uk,dc=csfb,dc=com
db.username=Someusername
db.password=Somepassword 
db.driver-class-name=oracle.jdbc.driver.OracleDriver

和拦截器代码为

@ConfigurationProperties
    @Bean
    public DataSource dataSource() {
    HikariConfig config =  new HikariConfig();
    config.setJdbcUrl(dbUrl);
    config.setUsername(dbUserName);
    config.setPassword(jasyptCipher.decrypt(dbPassword, encryptorPassword));
    config.setDriverClassName(dbDriverClassName);
    return new HikariDataSource(config);
    }

JPA在内部使用hikari池,通过上面的代码,hikaripool中的第1个DB连接被成功连接,但是其他的DB连接失败,因为我提供的用户名=someusername被systemlogin id覆盖了。

oracle spring-boot jpa hikaricp
© www.soinside.com 2019 - 2024. All rights reserved.