【问题标题】:Configure artifactId using variable in OSGi bundle使用 OSGi 包中的变量配置 artifactId
【发布时间】:2014-10-31 21:29:47
【问题描述】:
我希望在我的 POM 文件中有一个动态 artifactId 来构建一个 OSGi 包。我正在尝试在同一个 ServiceMix karaf 容器中部署配置略有不同的捆绑包的两个实例。
我正在使用 BND 插件来创建 OSGi 包,但我在 BND 中没有看到允许这样做的配置。
是否有人能够动态设置包名称,以便您可以在单个 ServiceMix 容器中部署同一包的两个版本?
谢谢。
【问题讨论】:
标签:
maven
apache-servicemix
bnd
【解决方案1】:
我不确定我是否遵循您想要实现的目标。但在我看来,您似乎很需要 ConfigAdmin 服务。使用 config Admin 服务,您可以将 cfg 部署在 servicemix 的 etc 文件夹中,该文件夹被选择用于配置服务。如果您希望一个服务的多个实例可用于每个配置,您应该查看 ManagedService Factory 模式。它将为您提供每个可用配置的新服务实例。