java - 如何在 Tomcat 6 中配置全局 JNDI 数据源?

标签 java tomcat datasource

我正在努力在 Tomcat 6.0.32 中配置一个简单的 JNDI 池化数据源。

我想在我的 Web 应用程序工件之外创建数据源定义。基本上我不希望我的应用程序知道访问数据库服务器的凭据。 我的假设是,就像在 Weblogic 中一样,应该可以在 Tomcat 中创建一个“全局”JNDI 数据源,但到目前为止我还没有成功。

我尝试在 CATALINA_HOME/conf/context 中添加数据源定义:

<Resource name="jdbc/mydb"
 auth="Container"
 type="javax.sql.DataSource" driverClassName="oracle.jdbc.OracleDriver"
 factory="oracle.jdbc.pool.OracleDataSourceFactory"
 url="jdbc:oracle:thin:@1.1.1.1.:xxx"
 user="xxxx"
 password="yyyy"/>

结果是服务器在启动时输出以下行:

SEVERE: Null component Catalina:type=DataSource,path=/,host=localhost,class=javax.sql.DataSource,name="jdbc/mydb"

任何指针将不胜感激。

最佳答案

将您的数据源配置移动到 server.xml <GlobalNamingResources> . (并且不要忘记将驱动程序 jar 文件添加到 tomcat 库中)。 配置您的 context.xml 以便所有应用程序都知道全局资源。

<Context>
    <WatchedResource>WEB-INF/web.xml</WatchedResource>
    <ResourceLink global="jdbc/mydb" name="jdbc/mydb" type="javax.sql.DataSource"/>
</Context>

关于java - 如何在 Tomcat 6 中配置全局 JNDI 数据源?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5997122/

相关文章:

java - 我想了解 Mac os 上 eclipse 中的自动完成和快捷方式

java - Android中使用Gson@SerializedName注解的基本目的是什么

facebook - 我应该想通过 java web 应用程序 (tomcat) 发布帖子

java - 使用 org.jboss.dmr.ModelNode 更改数据源属性

java - 将数据从 GUI 传递到 Swing 中的事件调度线程

java - 使用 UnfoldingMaps 绘制到 PGraphics

tomcat 不提供中间证书 (https)

java - 在同一 JVM 中的 Spring 应用程序之间进行通信的最佳方式

java - 数据源 Microsoft JDBC Driver for SQL Server(AlwaysOn 可用性组)

datasource - 多条件剑道数据源过滤