【问题标题】:Moving Datasource and Namespace bindings from Tomcat server.xml to property file将数据源和命名空间绑定从 Tomcat server.xml 移动到属性文件
【发布时间】:2017-06-23 13:01:28
【问题描述】:

我想移动我的应用程序特定的数据库和命名空间绑定 从server.xmlcontext.xmldatabase.propertynamespace.property 文件。

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

我怎样才能做到这一点..请帮忙。

最初我的数据源设置是:

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"/>

现在我想使用属性文件来存储驱动程序名称、用户 ID、密码 等等,因此我创建了属性文件,并在应用程序上下文中使用下面的条目

<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" />

从属性文件中获取属性。

【问题讨论】:

  • 你要不要使用JNDI? But I have to coment out JNDI-lookup.. because it is no use now.. How can I achive the same thing using JNDI-lookup,没有任何意义。
  • 是的,我必须使用 JNDI 查找,我最初说过我正在使用,但现在当将数据源详细信息移动到属性文件时,我的代码不再链接到 jndi 查找以获取数据源详细信息。但是我想要一种可以使用 jndi-lookup 的方法,并且应该从 .property 文件而不是 server.xml 文件中获取驱动程序名称、用户 ID、密码详细信息...
  • 有没有办法使用 jndi-lookup 从属性文件中获取数据源详细信息
  • JNDI 的唯一用途是将对象的创建留在服务器上。这意味着它必须在服务器级别完成。为什么还要将配置属性放在源代码中? JNDI 在您有多个环境(例如 Dev/QA/Production)的情况下很有用,因为服务器管理我们不需要更改源的对象,因此可以为不同的环境部署工件。

标签: java tomcat jndi


【解决方案1】:

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2014-11-20
    • 1970-01-01
    • 2011-12-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多