gpt4 book ai didi

java - 将数据源和命名空间绑定(bind)从 Tomcat server.xml 移动到属性文件

转载 作者:行者123 更新时间:2023-11-28 23:20:19 25 4
gpt4 key购买 nike

我想移动我的应用程序特定的数据库和 namespace 绑定(bind)从server.xmlcontext.xmldatabase.property的配置和namespace.property 文件。

最初我使用 jndi-lookup 从 server.xml 获取值文件..我可以使用类org.apache.commons.dbcp2.BasicDataSource这个,但我仍然想使用 JNDI 查找。

我怎样才能做到这一点......请提供任何帮助。

最初我的数据源设置是:

applicationContext.xml

<jee:jndi-lookup id="sampleDatasource" jndi-name="jdbc/test" cache="true" />

context.xml 中:

 <Resource auth="Container" 
driverClassName="oracle.jdbc.driver.OracleDriver"
maxActive="100" maxIdle="30" maxWait="10000"
name="jdbc/test"
password="test" type="javax.sql.DataSource"
url="test......" username="test"/>

现在我想使用属性文件来存储 driverName, user ID, Password 等等。因此我创建了属性文件,并且在 applicationcontext 中我正在使用下面的条目

<bean id="sampleDatasource" 
class="org.apache.commons.dbcp2.BasicDataSource"
destroy-method="close"
p:driverClassName="${jdbc.driverClassName}"
p:url="${jdbc.url}"
p:username="${jdbc.username}"
p:password="${jdbc.password}"
p:maxWaitMillis="${jdbc.maxWait}"
p:maxIdle="${jdbc.maxIdle}"/>**

但我必须注释掉 JNDI-lookup.. 因为它现在没用了..

如何使用 JNDI 查找实现相同的目的

我希望我的应用程序应该使用

<jee:jndi-lookup id="sampleDatasource" jndi-name="jdbc/test"  cache="true" />

从属性文件中获取属性。

最佳答案

创建 jndi.properties 文件并将其放入 JAVA_HOME/lib 文件夹中。 JNDI 将自动发现并从中读取。

关于java - 将数据源和命名空间绑定(bind)从 Tomcat server.xml 移动到属性文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44722132/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com