У нас есть существующий фрагмент кода, где мы подключаемся к Oracle БД с использованием OracleDataSource с использованием Oracle Proxy аутентификации . Я использую ProxyDataSource от spring-data- oracle для подключения с использованием ProxyUsername.
@Bean
public OracleDataSource oracleDataSource() throws SQLException {
OracleDataSource dataSource = new OracleDataSource();
dataSource.setURL(url);
dataSource.setDriverType("thin");
dataSource.setImplicitCachingEnabled(true);
dataSource.setFastConnectionFailoverEnabled(true);
dataSource.setConnectionProperties(getOracleJDBCProperties()); // Set Kerberos related stuff
return dataSource;
}
@Bean
public DataSource dataStore() throws SQLException {
ProxyDataSource dataSource = new ProxyDataSource(oracleDataSource(), dataSourceUsernameProvider); // dataSourceUsernameProvider gets you the Proxy Username
return dataSource;
}
Я пытаюсь использовать пул соединений Oracle UCP. Поэтому нам нужно заменить OracleDataSource
на PoolDataSource
. Но ProxyDataSource
принимает OracleDataSource
только в качестве первого аргумента.
Я пытался найти другой способ реализации прокси-аутентификации с использованием UCP, но не смог найти ничего.
Может кто-нибудь помочь здесь пожалуйста