Java 如何在Tomcat6中配置全局JNDI数据源?

Java 如何在Tomcat6中配置全局JNDI数据源?,java,tomcat,datasource,Java,Tomcat,Datasource,我正在努力在Tomcat6.0.32中配置一个简单的JNDI池数据源 我想在web应用程序工件之外创建数据源定义。基本上,我不希望我的应用程序知道访问数据库服务器的凭据。 我的假设是,像在Weblogic中一样,应该可以在Tomcat中创建一个“全局”JNDI数据源,但到目前为止我还没有成功 我尝试在CATALINA_HOME/conf/context中添加数据源定义: <Resource name="jdbc/mydb" auth="Container" type="javax.sq

我正在努力在Tomcat6.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"/>

欢迎使用任何指针。

将数据源配置移动到server.xml
。(别忘了将驱动程序jar文件添加到tomcat库中)。 配置context.xml,使所有应用程序都知道全局资源

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

WEB-INF/WEB.xml

您的错误:
user=“xxxx”
,您需要编写
username=“xxxx”

如果我将资源定义移动到server.xml的GlobalNamingResources部分,我会得到相同的结果:严重:空组件Catalina:type=DataSource,path=/,host=localhost,class=javax.sql.DataSource,name=“jdbc/selfcare”是否已更新context.xml以链接到全局资源?您是否已将oracle驱动程序放入tomcat库中?你重启服务器了吗?重新部署您的应用程序?已清理缓存?是否已更新context.xml以链接到全局资源?>是的,您是否已将oracle驱动程序放入tomcat库中?>是的,CATALINA_HOME/lib您重新启动服务器了吗?是否重新部署了您的应用程序?>缓存中没有部署应用程序?>YESI还尝试将日志级别设置为debug,以了解发生了什么,但没有成功。同样的信息。好的,你的例子是关于jdbc/mydb,你的错误是关于-jdbc/selfcare?他们是否都正确地为Oracle数据库连接池配置了资源?您是否为全局资源和context.xml资源链接名指定了不同的名称?
<Context>
    <WatchedResource>WEB-INF/web.xml</WatchedResource>
    <ResourceLink global="jdbc/mydb" name="jdbc/mydb" type="javax.sql.DataSource"/>
</Context>