【发布时间】:2016-08-04 07:55:49
【问题描述】:
我正在尝试将 Sniffy 配置为与 Oracle 一起使用。我使用 Glassfish 作为应用服务器,使用 JPA 2.0,并使用 EclipseLink 作为提供程序。
当 EclipseLink 尝试分配连接时,它失败说指定的 Oracle URL 无效,因为"sniffer:" 前缀,我猜:
org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'jpaMappingContext': Invocation of init method failed;
nested exception is javax.persistence.PersistenceException: Exception [EclipseLink-4002] (Eclipse Persistence Services - 2.5.1.v20130918-f2b9fc5): org.eclipse.persistence.exceptions.DatabaseException
Internal Exception: java.sql.SQLException: Error in allocating a connection. Cause: Connection could not be allocated because: Invalid Oracle URL specified
Error Code: 0
这就是我在 domain.xml 文件中配置池的方式:
<jdbc-resource pool-name="poolGI" object-type="system-all" jndi-name="jdbc/poolGI" />
<jdbc-connection-pool driver-classname="io.sniffy.MockDriver" name="poolGI" res-type="javax.sql.DataSource" datasource-classname="oracle.jdbc.pool.OracleDataSource">
<property name="URL" value="sniffer:jdbc:oracle:thin:@(DESCRIPTION=(LOAD_BALANCE=on)(ADDRESS_LIST=(ADDRESS=(PROTOCOL=TCP)(HOST=host1)(PORT=1521))(ADDRESS=(PROTOCOL=TCP)(HOST=host2)(PORT=1521)))(CONNECT_DATA=(SERVICE_NAME=service)))"></property>
<property name="user" value="user"></property>
<property name="password" value="password"></property>
</jdbc-connection-pool>
【问题讨论】:
-
“它说”?怎么说?发布该消息的 EXCEPTION + STACK TRACE,然后人们就知道它来自哪里!
-
堆栈跟踪确实提供了信息。
-
恐怕日志中就只有这些了
标签: java oracle jpa eclipselink sniffy