【问题标题】:How to add custom bundles part of the Target?如何添加目标的自定义捆绑包部分?
【发布时间】:2015-08-19 08:55:39
【问题描述】:

我正在使用 Eclipse 中的 server-allinone。我想做 Target 上运行的基本捆绑包的一些自定义捆绑包。 有没有办法从配置中做到这一点?

【问题讨论】:

    标签: provisioning osgi-bundle apache-ace


    【解决方案1】:

    从概念上讲,目标上运行的内容由三个逻辑部分组成:

    1. 实际的 OSGi 框架实现(Apache Felix、Equinox 等)。
    2. Apache ACE 提供的“管理代理”。
    3. 构成您的应用程序的所有捆绑包。

    ACE 可以轻松安装、更新和卸载 #3 中的任何内容。 ACE 还具有允许管理代理(#2)自我更新的机制(这显然是一种特殊情况)。这就是 ACE 停止的地方,它没有更新 #1 的内置机制,尽管也有一些关于为此提供机制的讨论。不过,您必须在某个时候划清界限,除此之外,您还可以问自己谁将更新 JVM、操作系统和引导加载程序。

    不管怎样,回到你的问题。如果您想让这些自定义捆绑包成为在目标上运行的基本捆绑包的一部分,从概念上讲,它们将成为框架的一部分,并且您无法在 ACE 中更新它们。如果没问题,只需创建一个自定义启动器,它除了安装管理代理之外,还安装这些包。如果这很好,您需要将这些捆绑包添加到实际的管理代理捆绑包中,以便它们成为其中的一部分。这样您就可以将它们作为该捆绑包的一部分进行更新。但是,我想挑战您并问您为什么这些捆绑包不能成为应用程序的一部分?是否有特殊原因必须预先安装(可更新或不可更新)?

    【讨论】:

    • 感谢您的回复。我希望预先安装捆绑包,以便为目标集群中的应用程序提供可伸缩性和组合功能。从您上面的解释来看,不知何故,这听起来是依赖于框架的。所以我认为拥有一个自定义启动器听起来是一种更好的方法。(使用更新约束意味着我必须手动执行它吗?)
    猜你喜欢
    • 1970-01-01
    • 2016-09-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-06-24
    • 1970-01-01
    相关资源
    最近更新 更多