tomcat - 无法理解使用 JPA、Tomcat、Oracle 的连接池错误

标签 tomcat jpa oracle10g connection-pooling

我在 context.xml 中有以下代码对于 Tomcat:

<Resource name="ds/OracleDS" auth="Container" type="javax.sql.DataSource"
maxActive="1" maxIdle="2" maxWait="2"
username="demo" password="demo"
driverClassName="oracle.jdbc.driver.OracleDriver"
url="jdbc:oracle:thin:@localhost:1521:orcl"/>

我在 web.xml 中有这段代码:

<resource-ref>
 <description>Oracle Datasource example</description>
 <res-ref-name>ds/OracleDS</res-ref-name>
 <res-type>javax.sql.DataSource</res-type>
 <res-auth>Container</res-auth>
</resource-ref>

我在persistence.xml写过代码喜欢:

<persistence-unit name="ReceivablesPU"  transaction-type="RESOURCE_LOCAL">
        <provider>oracle.toplink.essentials.PersistenceProvider</provider>
        <non-jta-data-source>java:ds/OracleDS</non-jta-data-source>

我不明白java:ds/OracleDS , <Resource name="ds/OracleDS" , <res-ref-name>ds/OracleDS</res-ref-name> .错误是:

javax.persistence.PersistenceException: Exception [TOPLINK-7060] (Oracle TopLink Essentials - 2.0 (Build b40-rc (03/21/2007))): oracle.toplink.essentials.exceptions.ValidationException
Exception Description: Cannot acquire data source [java:ds/OracleDS].
Internal Exception: javax.naming.NamingException: This context must be accessed through a java: URL

最佳答案

persistence.xml 中,您的第三行应该如下所示:

        <non-jta-data-source>java:comp/env/ds/OracleDS</non-jta-data-source>

关于tomcat - 无法理解使用 JPA、Tomcat、Oracle 的连接池错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15360373/

相关文章:

java - 无法安装 dotCMS

tomcat - 未爆WAR Tomcat性能

sql - 在不知道约束名称的情况下删除表列上的唯一约束

oracle - frm-40735 :when mouse click trigger raised unhandled exception ora-06502

Tomcat 8 SSL 与 ArcGIS 服务器

spring - 应用程序上下文被加载两次 - Spring Boot

jpa - odata 协议(protocol)是 REST 服务的良好标准吗?

mysql - 如何连续删除 MySQL 数据库最新 10 个条目之前的任何内容(可能在 JPQL/JPA 中)

hibernate - 如何使用延迟加载和分页查询 Primefaces dataTable 的数据

sql - 具有不同内容的表格的最佳实践