2015-09-15 60 views
0

我正在尝试使用org.apache.jackrabbit.core.persistence.pool.OraclePersistenceManager建立一个连接到预配置的OracleDB JNDI数据源的Jackrabbit持久性管理器。Jackrabbit OraclePersistenceManager和JNDI数据源

(如有点背景的 - 这是在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年前的邮件列表中看到线程,其中有与OraclePersistenceManager的JNDI相关的问题,但最近没什么。

感谢

+0

只是一些额外的信息 - 这是使用兔崽子2.8.0 - 这就是捆绑玉兰3.5.6我相信 – Jiminyjetson

回答

0

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

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

马科斯,你需要改写,所以这不是一个问题,如果你认为这将解决问题。否则,它需要是一个评论(你还没有足够的声望)。 –

相关问题