Oracle11g 需要指针|使用JDBCTemplate | CQ 5.5

Oracle11g 需要指针|使用JDBCTemplate | CQ 5.5,oracle11g,osgi,jdbctemplate,aem,osgi-bundle,Oracle11g,Osgi,Jdbctemplate,Aem,Osgi Bundle,我需要一些关于以下场景的提示/建议 场景: 我们正在尝试使用cq5.5中的JDBCTemplate来查询数据库(oracle11g)。作为第一步,我们将CQ与Spring框架集成。现在,为了使JDBCTemplate正常工作,它需要JDBC驱动程序,该驱动程序需要单独加载到CQ中,因为SpringJAR不提供该驱动程序。这里提供了所需的jar,在我的示例中,jar是“ojdbc6.jar”,它包含注册驱动程序以创建与数据库的连接所需的OracleDriver类(JavaDoc:**) 以下几点需

我需要一些关于以下场景的提示/建议

场景:

我们正在尝试使用
cq5.5
中的
JDBCTemplate
来查询数据库(
oracle11g
)。作为第一步,我们将CQ与Spring框架集成。现在,为了使JDBCTemplate正常工作,它需要JDBC驱动程序,该驱动程序需要单独加载到CQ中,因为SpringJAR不提供该驱动程序。这里提供了所需的jar,在我的示例中,jar是“
ojdbc6.jar
”,它包含注册驱动程序以创建与数据库的连接所需的
OracleDriver
类(JavaDoc:**)

以下几点需要的问题/建议:

  • 由于oracle 11g是一种商业产品,因此没有在线可用的存储库(用于pom依赖项),因此我们需要为其创建一个单独的本地存储库。(需要指针;还有其他方法吗?
  • 上面提到的Jar不是OSGi那么在这种情况下如何处理呢?(我已经按照这里提到的说明创建了OSGi包)
  • 在将这个jar转换为OSGi包的过程中,我必须删除MANIFEST.MF文件中导入的包中提到的版本。(据我所知,CQ默认选择任何类可用的最新版本,当可用的任何类的新版本与当前版本不兼容时,可能会出现问题。需要指针;是否应优先考虑此问题?在任何项目中是否有人因此而面临任何问题
  • 当前状态:

    通过将ojdbc5.jar转换为OSGi包;我能够使用JDBCTemplate但正在寻找一些指针来检查在其他项目中是否有人采用了其他方法来实现上述场景?

  • oracle驱动程序未发布到任何公共maven repo。因此,实际上,你必须将这个罐子放入你自己的maven回购协议中

  • 在ApacheKaraf中有一个很好的特性,您可以在包url前面编写wrap,它可以使用bnd工具动态地自动创建一个包。 如果CQ没有这样的功能,那么您必须自己创建捆绑包。在这种情况下,maven bundle插件可以帮助您。您可以使用maven依赖项依赖oracle jar。然后可以为oracle jar的包定义导出。然后,Bnd应该自动内联bundle jar中的类。另一个选项是maven shade插件。您可以查看servicemix捆绑包的来源。在那里,你会发现pom可以捆绑很多普通的罐子

  • 不知道你到底是什么意思。据我所知,oracle驱动程序没有任何外部依赖项

  • 我写了一篇文章,解释了如何处理oracle驱动程序,以及如何在不依赖具体驱动程序的情况下创建数据源

    本教程中的解决方案不能在CQ中1:1使用,但它肯定会给您一些提示