AEM / CQ5多个捆绑包具有相同的包名称和不同的数据类型属性

时间:2017-01-30 16:54:01

标签: java osgi cq5 aem osgi-bundle

我有几乎相似的问题,如果有人能回答以下问题,我们将非常感激吗?

  1. 我有多个AEM消费者(即AEM1,AEM2,AEM3)
  2. 还有具有不同符号名称的外部包(即Bundle A,Bundle B)
  3. 这两个包之间的区别在于相同包中的属性数据类型(即包:com.abc.xyz [两个包中的相同包名],类:SampleObject,Bundle A的属性:int sampleAttrbute,Bundle B的属性:String sampleAttrbute)
  4. AEM1& AEM2将使用(JSP& backend JAVA)sampleAttrbute作为整数,AEM3将使用(JSP& backend JAVA)sampleAttrbute作为String。
  5. 问:AEM / CQ5 OSGI捆绑方式是否可行?如果是,那么如何?

    谢谢!!!

1 个答案:

答案 0 :(得分:2)

AEM中的OSGI Felix实现将选择其中一个包,并将其用于com.abc.xyz包。因此,即使它存在于两个不同的软件包中,这两个软件包都已安装,但只有一个将在运行时使用。您可以通过制作任何将使用包依赖于特定版本(使其导入特定版本)的任何一个来控制哪一个,然后使您的Bundle A和Bundle B具有不同的版本号,以便它可以区分使用哪一个。有关如何完成此操作的详细信息,请参阅Multiple bundle versions deployed in one OSGi instance

另见