【问题标题】:Does Apache Felix FileInstall works for dynamic configuration of an application?Apache Felix FileInstall 是否适用于应用程序的动态配置?
【发布时间】:2013-07-16 15:26:11
【问题描述】:

我正在尝试开发一个可由其用户配置的应用程序。我需要通过安装/更新/停止/卸载包来完成配置。当然,所有这些都应该在应用程序的运行时动态完成。

我找到了一个不错的框架,它是 Apache Felix FileInstall,它提供了一个目录,当您在目录中添加捆绑文件时,它似乎添加了一个捆绑包(更新和删除捆绑包类似)。

但是我可以看到这种方法不适用于我的情况。我需要将捆绑包放在目录中,但要通过我的应用程序停止甚至卸载它们。我想在适当的时候安装它们。这就是我期望完成应用程序配置的方式。

Apache FileInstall 是否支持我想要实现的目标?我对这个框架有什么错误的假设吗?如果 Apache FileInstall 还不够,还有哪些其他可能的方法可以帮助我?谢谢。

【问题讨论】:

    标签: osgi config osgi-bundle apache-felix


    【解决方案1】:

    您不需要 FileInstall,只需使用 OSGi API。您特别提到了安装、更新、停止和卸载;以下 API 调用分别支持这些:

    • BundleContext.installBundle
    • Bundle.update
    • Bundle.stop
    • Bundle.uninstall

    顺便提一下,这些方法与 FileInstall 为实现其基于目录的包管理而调用的方法完全相同。

    【讨论】:

    • 您是说我不需要在运行应用程序之前先添加捆绑包吗?我的意思是,我可以让我的应用程序安装一个新包或使用这些方法动态替换现有包吗?
    • 是的。当然,管理其他包的包确实需要初始安装和启动。我们通常将此类捆绑包称为“管理代理”。 FileInstall 也是一个管理代理。
    • 谢谢。我一直在寻找如何使用这些方法以及将它们放在代码中的什么位置?你有任何可以指导我的链接吗?
    • 为什么不从更基础的 OSGi 教程开始呢?一旦你了解了基础知识,你将能够回答你自己的问题。目前看来,您正在尝试在没有适当基础的情况下做非常高级的事情。
    • 这是很好的开始:blog.sarathonline.com/2008/12/…
    猜你喜欢
    • 2016-03-26
    • 2015-04-23
    • 1970-01-01
    • 1970-01-01
    • 2018-12-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-12-19
    相关资源
    最近更新 更多