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

时间:2017-06-23 13:01:29

标签: java tomcat jndi

我想移动我的应用程序特定数据库和命名空间绑定 从server.xmlcontext.xmldatabase.property的配置和 namespace.property档案。

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

我怎么能得到这个......请帮助。

最初我的数据源设置是:

applicationContexct.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,用户ID,密码     因此我创建了属性文件,并在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-lookup

实现相同的目标

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

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

从属性文件中获取属性。

1 个答案:

答案 0 :(得分:0)

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