我使用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
基础教程推荐
- Java Redisson多策略注解限流 2023-05-25
- 关于 Math.random()生成指定范围内的随机数的公式推导问题 2023-05-13
- java使用枚举封装错误码及错误信息详解 2023-08-08
- Java ArrayList遍历foreach与iterator时remove的区别 2023-03-15
- 解决springboot 部署到 weblogic 中 jar 包冲突的问题 2023-04-12
- Java实现Kruskal算法的示例代码 2023-02-27
- Java基础之String类使用与字符串比较 2023-04-23
- JavaMail实现带附件的邮件发送 2023-04-12
- 图解Java经典算法冒泡选择插入希尔排序的原理与实现 2023-05-25
- Java实现经典游戏打砖块游戏的示例代码 2022-10-30