我需要关于以下情况的一些指示/建议。
情境:
我们正尝试在JDBCTemplate
中使用CQ 5.5
来查询数据库(Oracle 11g
)。作为第一步,我们有integrated CQ with Spring Framework
。现在让JDBCTemplate使用它requires JDBC driver
,它需要单独加载到CQ中,因为它不适用于Spring jar。我需要的是http://www.oracle.com/technetwork/database/enterprise-edition/jdbc-112010-090769.html所需的jar,而我的案例中的jar是“ojdbc6.jar
”,其中包含OracleDriver
类( JavaDoc :* http://docs.oracle.com/cd/E11882_01/appdev.112/e13995/oracle/jdbc/OracleDriver.html *)需要注册驱动程序以创建与数据库的连接。
以下几点需要提出问题/建议:
当前状态:
将ojdbc5.jar转换为OSGi包;我能够使用JDBCTemplate。 但是要找一些指点来检查是否还有其他人在其他项目中遵循的方法来实现上述方案?
答案 0 :(得分:0)
oracle驱动程序未发布到任何公共maven仓库。所以你确实必须将jar放入你自己的maven repo
在Apache Karaf中有一个很好的功能,你可以在一个捆绑网址前面写一个包裹:它会使用bnd工具自动创建一个捆绑包。 如果CQ没有这样的功能,那么您必须自己创建捆绑包。在这种情况下,maven bundle插件可以帮助您。您可以使用maven依赖项依赖于oracle jar。然后,您可以为oracle jar的包定义导出。然后Bnd应该自动内联你的jar包中的类。另一种选择是maven shade插件。您可以查看servicemix包的来源。在那里你会发现poms捆绑了很多普通的罐子。
不确定你究竟是什么意思。据我所知,oracle驱动程序没有任何外部依赖项。
我编写了一个DB tutorial for Apache Karaf来解释如何处理oracle驱动程序以及如何在不依赖具体驱动程序的情况下创建数据源。
本教程中的解决方案不能在CQ中以1:1使用,但它肯定会给你一些指示。