我使用Spring-jdbc和org.apache.commons.dbcp.BasicDataSource使用用户名和密码进行连接.我想使用BasicDataSource,因为我只有一个连接.我有这个代码:bean class=org.apache.commons.dbcp.BasicDataSource destr...

我使用Spring-jdbc和org.apache.commons.dbcp.BasicDataSource使用用户名和密码进行连接.我想使用BasicDataSource,因为我只有一个连接.
我有这个代码:
<bean class="org.apache.commons.dbcp.BasicDataSource" destroy-method="close"
id="dataSource">
<property name="driverClassName" value="${database.driverClassName}" />
<property name="url" value="${database.url}" />
<property name="username" value="${database.username}" />
<property name="password" value="${database.password}" />
</bean>
现在我必须使用基于Oracle Wallet的身份验证,在没有Spring的简单应用程序测试中我没有问题,但我无法将此新身份验证与Spring集成.有谁知道我怎么做?
解决方法:
你提到“简单的应用程序测试”,所以我假设你需要配置你的单元测试.在单元测试配置类中(例如,类TestSpringWebConfig扩展SpringWebConfig),这将使用钱包获得Oracle数据源(奖励:以下使用代理数据库帐户):
System.setProperty("oracle.net.tns_admin", "path/to/your/tnsnames");
OracleDataSource ds = new OracleDataSource();
Properties props = new Properties();
props.put("oracle.net.wallet_location", "(source=(method=file)(method_data=(directory=path/to/your/wallet)))");
/*
Use the following only if you have a proxy user database account instead of a normal DB account
A test user's username could go here though
*/
props.put(OracleConnection.CONNECTION_PROPERTY_PROXY_CLIENT_NAME, "proxy-user-name");
ds.setConnectionProperties( props );
ds.setURL("jdbc:oracle:thin:/@dbAlias"); //dbAlias should match what's in your tnsnames
return ds;
这也假设您在JDK中有以下内容:
在JAVA_HOME / jre / lib / security / java.security中,将以下内容添加到“提供者列表”中:
security.provider.11=oracle.security.pki.OraclePKIProvider
并将以下jar从Oracle添加到JAVA_HOME / jre / lib / ext:
> osdt_cert.jar
> osdt_core.jar
> oraclepki.jar
当然,以上所有假设ojdbc7 jar已经在你的应用程序的类路径中了.
本文标题为:java – 使用Oracle Wallet身份验证从Spring-jdbc连接到Oracle DB


基础教程推荐
- 关于spring中单例Bean引用原型Bean产生的问题及解决 2023-01-02
- 教你使用eclipse 搭建Swt 环境的全过程 2023-08-11
- Spring-webflux 响应式编程的实例详解 2023-05-13
- Java常用集合之Set和Map的用法详解 2023-02-18
- MyBatis-plus实现逆向生成器 2023-04-17
- Java 中不全部使用 Static 方法的理由 2023-04-06
- Log4j关闭Spring和Hibernate日志打印方式 2023-08-07
- Java 流处理之收集器详解 2023-05-18
- jOOQ串联字符串拒绝使用的原因实例 2023-03-22
- 详解MybatisPlus中@TableLogic注解的使用 2023-01-13