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