Jackrabbit OraclePersistenceManager和JNDI数据源

时间:2015-09-15 12:20:27

标签: oracle jndi weblogic12c jackrabbit

我正在尝试使用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有关,但最近没有。

由于

1 个答案:

答案 0 :(得分:0)

要解决此问题,请使用JNDI InitialContext加载驱动程序,如下所示:

<param name="driver" value="javax.naming.InitialContext"/>