Java 将数据源和命名空间绑定从Tomcat server.xml移动到属性文件
我想移动特定于应用程序的数据库和命名空间绑定 从Java 将数据源和命名空间绑定从Tomcat server.xml移动到属性文件,java,tomcat,jndi,Java,Tomcat,Jndi,我想移动特定于应用程序的数据库和命名空间绑定 从server.xml,context.xml到database.property的配置,以及 namespace.property文件 最初,我使用jndi查找从server.xml获取值 文件我可以使用classorg.apache.commons.dbcp2.BasicDataSource来 但我仍然希望使用JNDI查找 我怎样才能做到这一点。。请帮忙 最初,我的数据源设置是: applicationContexct.xml <jee:j
server.xml
,context.xml
到database.property
的配置,以及
namespace.property
文件
最初,我使用jndi查找从server.xml获取值
文件我可以使用classorg.apache.commons.dbcp2.BasicDataSource
来
但我仍然希望使用JNDI查找
我怎样才能做到这一点。。请帮忙
最初,我的数据源设置是:
applicationContexct.xml
<jee:jndi-lookup id="sampleDatasource" jndi-name="jdbc/test" cache="true" />
现在我想使用属性文件来存储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。。因为现在没用了
如何使用JNDI查找实现相同的功能
我希望我的应用程序应该使用
<jee:jndi-lookup id="sampleDatasource" jndi-name="jdbc/test" cache="true" />
从属性文件获取属性。创建jndi.properties文件并将其放入JAVA_HOME/lib文件夹。JNDI将自动发现并从中读取。是否要使用JNDI<代码>但我必须完成JNDI查找。。因为现在没用了。。我如何使用JNDI查找来实现同样的目标,这没有任何意义。是的,我必须使用JNDI查找,我最初说我正在使用,但现在当将数据源详细信息移动到属性文件时,我的代码不再链接到JNDI查找以获取数据源详细信息。。但是我想要一种方法,我们可以使用jndi查找,并且应该从.property文件intead of server.xml文件中获取drivername、userid和密码详细信息……是否有任何方法可以使用jndi查找从属性文件中获取数据源详细信息jndi的唯一用途是将对象的创建留在服务器上。这意味着它必须在服务器级别上完成。为什么还要将配置属性放在源代码中?JNDI在您有多个环境(如Dev/QA/Production)的情况下非常有用,因为服务器管理的对象我们不需要更改源,因此可以为不同的环境部署工件。
<jee:jndi-lookup id="sampleDatasource" jndi-name="jdbc/test" cache="true" />