名称 [ ] 未绑定到此上下文中。无法找到 [jdbc] Tomcat 问题

名称 [ ] 未绑定到此上下文中。无法找到 [jdbc] Tomcat 问题

我刚刚使用 Tomcat 7 和 Java 8_40 创建了一个全新的 Oracle Linux 7 VM。我之前使用 Apache 和 Tomcat 创建了多台服务器,但从未连接过数据库。SELinux 和防火墙都已关闭(出于测试目的)。我似乎无法正确配置 jdbc。以下是我所拥有的:

上下文.xml:

<ResourceLink global="jdbc/JCAppsCoreDS" name="jdbc/JCAppsCoreDS" type="javax.sql.DataSource"/>

服务器.xml

    <Resource name="jdbc/JCAppsCoreDS" auth="Container"
   type="javax.sql.DataSource"
   driverClassName="oracle.jdbc.OracleDriver"
   url="jdbc:oracle:thin:@//******/PROD"
   username="******" password="*****"
   initialSize="5" maxActive="100" maxIdle="-1" maxWait="30"
   validationQuery="select 1 from dual"
   testOnBorrow="true"
   factory="org.apache.commons.dbcp.BasicDataSourceFactory" />

当然,***** 指的是实际物品。当我尝试访问我的应用程序的 URL 时,我得到了:

命名异常 连接数据库时出错:javax.naming.NameNotFoundException:名称 [jdbc/JCAppsCoreDS] 未绑定在此上下文中。无法找到 [jdbc]。

据我所知,我的配置是正确的,但仍然出现错误。有人有什么想法吗?另外,我没有在日志中看到太多有关此错误的信息。有人知道哪些日志以及我需要在哪里增加日志级别吗?我把它们弄乱了一点,但无法获得更多信息。

谢谢!

答案1

您是否配置了资源引用web.xml

<resource-ref>
  <res-ref-name>jdbc/JCAppsCoreDS</res-ref-name>
  <res-type>javax.sql.DataSource</res-type>
  <res-auth>Container</res-auth>
</resource-ref>

答案2

不过,我们昨天才弄清楚这个问题,我们试图从 weblogic 移动到 tomcat 的应用程序以 weblogic 可以识别的方式调用数据库,但 tomcat 不能。我们将编辑数据库调用并使用 spring,希望一切能够协同工作。不过还是感谢您的提示!

相关内容