问题描述
|
我正在开发一个Spring Web应用程序。我在应用程序中使用的JAR文件正在使用JNDI查找数据源。我在雄猫的server.xml中配置了该元素。配置如下,
<GlobalNamingResources>
<Resource name=\"jdbc/abcd\"
auth=\"Container\"
type=\"javax.sql.DataSource\"
maxActive=\"70\"
maxWait=\"10000\"
username=\"xxxx\" password=\"yyyy\"
validationQuery=\"SELECT 1 from dual\"
driverClassName=\"oracle.jdbc.driver.OracleDriver\"
url=\"jdbc:oracle:thin:@xx.xxx.xx.xx:xxxx:zzzz\"
testOnBorrow=\"false\"
testOnReturn=\"false\"
testWhileIdle=\"true\"
timeBetweenEvictionRunsMillis=\"120000\"
minEvictableIdleTimeMillis=\"3600000\"
/>
</GlobalNamingResources>
上面配置的资源名称\“ jdbc / abcd \”与JAR寻找的名称相同,
但是它无法找到此配置的数据源。有谁知道可能是什么原因?
正在收到以下异常,
javax.naming.NameNotFoundException:名称JDBC在此上下文中未绑定
解决方法
您需要在Web应用程序上下文中定义ResourceLink,以使全局资源对Web应用程序可见。
<ResourceLink
name=\"nameThatIsVisibleToTheWebApplication\"
global=\"theGlobalName\"
...
, 您需要做的不仅仅是配置Spring。
我建议阅读Tomcat JNDI文档以及此文档。