【问题标题】:OSGi Configuration Admin Service in Netbeans Platform ApplicationNetbeans 平台应用程序中的 OSGi 配置管理服务
【发布时间】:2013-12-18 15:25:59
【问题描述】:

我们正在开发一个包含 NB 模块和 OSGi 模块的 Netbeans RCP 应用程序。我们正在尝试在我们的 OSGi 模块中使用配置管理服务。我们的基本目标是通过 OSGi 管理服务从配置属性文件中获取 osgi 模块的配置。

但是即使我们尝试了可能的文件位置(在用户目录下、osgi 运行目录等...),我们也无法读取我们的配置属性文件。我们也尝试过设置 felix,但没有成功。

如果有人可以指导使用如何将配置属性文件放置到适当的位置并由配置管理服务读取它应该非常有用。

Netbeans 版本是 7.3.1,我们在 Windows 8 64 位上运行。

谢谢...

【问题讨论】:

    标签: java configuration osgi netbeans-platform


    【解决方案1】:

    为配置管理服务设置属性的方法实际上是通过配置管理界面本身。配置的存储方式取决于服务,不一定通过属性文件。因此,如果你想遵循规范,最好的方法是让包通过其接口将属性文件加载到配置管理中。

    作为替代方案,Felix 配置管理服务允许您插入自己的持久化解决方案来读取和写入配置。可以在here 找到使用属性文件的持久化器的实现。它是一个非常基本的持久化器,专门为 Felix 配置管理实现而编写。

    【讨论】:

    • 谢谢,主要问题是“我们如何在 netbeans 平台内做到这一点?”
    • 您需要就您的主要问题以及“它”的含义向我们提供一些启发。从帖子中我得到的印象是你的包已经启动并运行了,包括一个配置管理器。在这种情况下,这意味着编写/添加一个额外的包来帮助加载属性文件。
    • 是的,我有捆绑包,我希望其中一个是可配置的(通过配置文件)。另一个区别是我在 Netbeans 平台应用程序上运行这些包,该应用程序在内部运行嵌入式 felix osgi 容器。如何访问 netbeans 平台应用程序中的嵌入式 felix。
    • 如果您想通过配置管理员进行捆绑配置,请阅读 OSGi 规范中的配置管理员章节和声明的服务章节中的相应规范。关于嵌入式 Felix:虽然我从未在 Netbeans 中这样做过,但嵌入 OSGi 容器并没有什么特别之处。您只需将捆绑包加载到该容器中并从磁盘读取配置。你和Netbeans没有任何关系,为什么要从Netbeans访问Felix?
    • 感谢您的帮助,但实际上这个问题主要与Netbeans平台有关。我认为对问题的理解有问题。我确实知道如何使用 OSGi Config Admin 服务。但真正的问题是通过 Netbeans&Felix 进行文件管理。我将 Netbeans RCP 平台和 Felix 一起用于开发应用程序。 Netbeans RCP Platform 类似于框架,用于开发富客户端应用程序的 SDK。
    【解决方案2】:

    一个简单的解决方案(@arivanw 解释说还有很多其他解决方案)是使用 Apache FileInstall。它可用于在 .cfg 文件中定义配置,然后在将它们放入魔术文件夹时进行安装。当您从该文件夹中删除它们时,它们会被卸载。

    【讨论】:

    • 主要问题是“我们如何在 netbeans 平台内做到这一点?”
    • 开始安装 Apache Fileinstall 包?
    • 好的,我试试。但是我在 Netbeans 平台应用程序上运行这些包,该应用程序在内部运行嵌入式 felix osgi 容器。主要关注点是如何访问 netbeans 平台应用程序中的嵌入式 felix。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-10-29
    • 1970-01-01
    • 2013-11-22
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多