AEM/CQ5 多个 bundle 相同的包名和不同的数据类型属性

AEM/CQ5 multiple bundles same package name and different data type attributes

我有几乎相似的问题,如果有人能回答以下问题,我将不胜感激?

  1. 我有多个 AEM 消费者(即 AEM1、AEM2、AEM3)
  2. 还有具有不同符号名称的外部包(即包 A、包 B)
  3. 这两个包之间的区别是相同包中的属性数据类型(即包:com.abc.xyz [两个包中的包名称相同],class:SampleObject,包 A 的属性:int sampleAttrbute , Bundle B 的属性: String sampleAttrbute)
  4. AEM1 和 AEM2 将消耗(JSP & 后端 JAVA) sampleAttrbute 作为整数,AEM3 将消耗(JSP & 后端 JAVA) sampleAttrbute作为字符串。

问:这在 AEM/CQ5 OSGI 包方法中可行吗?如果是那么怎么办?

谢谢!!!

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

另见