我正在尝试使用org.apache.jackrabbit.core.persistence.pool.OraclePersistenceManager设置连接到预配置的OracleDB JNDI数据源的Jackrabbit持久性管理器。
(作为背景 - 这是在weblogic 12c上运行的玉兰花应用程序)
我的配置看起来像这样
<PersistenceManager class="org.apache.jackrabbit.core.persistence.pool.OraclePersistenceManager">
<param name="driver" value="oracle.jdbc.OracleDriver"/>
<param name="url" value="jdbc/myJNDIResource"/>
<param name="schema" value="oracle" />
<param name="schemaObjectPrefix" value="version_" />
<param name="externalBLOBs" value="false" />
<param name="databaseType" value="oracle" />
</PersistenceManager>
但是,我得到以下例外:
org.apache.commons.dbcp.SQLNestedException:
Cannot create JDBC driver of class 'oracle.jdbc.OracleDriver'
for connect URL 'jdbc/myJNDIResource'
我知道正确解析了JNDI名称(如果我更改名称,则无法解析并引发其他错误。)
查看OraclePersistenceManager,它使用oracle.jdbc.OracleDriver作为其驱动程序类,我相信它是Oracle瘦驱动程序。但是,我不知道这是否适用于JNDI数据源。
有没有人有这方面的经验?
我可以看到大约6年前邮件列表中的线程与JNDI和OraclePersistenceManager有关,但最近没有。
由于
答案 0 :(得分:0)
要解决此问题,请使用JNDI InitialContext
加载驱动程序,如下所示:
<param name="driver" value="javax.naming.InitialContext"/>