如何在使用 JNDI 的应用程序中查找数据源 [重复]

Posted

技术标签:

【中文标题】如何在使用 JNDI 的应用程序中查找数据源 [重复]【英文标题】:How to find datasource in an application which uses JNDI [duplicate] 【发布时间】:2016-02-04 17:12:28 【问题描述】:

我正在分析动态 Web 应用程序,但无法在应用程序的任何位置找到数据源详细信息。在应用程序上下文中,我只能看到以下条目。

<je:jndi-lookup id="dataSource" jndi-name="java:comp/env/jdbc/App"/>
<je:jndi-lookup id="mysqlDataSource" jndi-name="java:comp/env/jdbc/App_MySQL"/>

应用程序部署在 Tamcat 服务器中。数据源将在哪里定义?是否可以在 tomcat 服务器中配置 DB 详细信息?

谢谢

【问题讨论】:

"是否可以在 tomcat 服务器中配置 DB 详细信息?" : 可能。我不了解 tomcat,但 JBoss EAP 提供了在其域或服务器配置中定义数据源的可能性,其应用程序可以通过 JNDI 访问这些数据源 你检查过 META-INF/context.xml 吗?见tomcat.apache.org/tomcat-6.0-doc/… 【参考方案1】:

找到答案。数据源详细信息在 tomcat conf 文件夹中的 server.xml 文件中提供。似乎数据源对于共享 tomcat 服务器的应用程序很常见(在我的情况下,服务器中部署了超过 3 个应用程序),因此它是在 tomcat 中配置的。

【讨论】:

以上是关于如何在使用 JNDI 的应用程序中查找数据源 [重复]的主要内容,如果未能解决你的问题,请参考以下文章

在 Spring Boot 应用程序中查找 JNDI 数据源失败

如何在 Coherence 12.2.1 中启用缓存服务器 JNDI 查找支持?

JNDI 在 JMS 中使用 JBoss 查找错误

在执行 jndi 查找时,如何找出应该使用的 SerialContextProvider?

JNDI提供了一种统一的方式,可以用在网络上查找和访问服务

使用Log4J 2查找JNDI变量查找时如何设置默认值?