OSGi Bundle Repositories(如何在服务器上托管它们)?

 泥土人走泥u加水 发布于 2023-02-13 12:56

我想发布一个仅仅是一个配置的OSGi容器的产品.当容器启动时,它应该根据容器的配置下载并安装应用程序 - 包含应用程序所有功能的最新捆绑包.当更新版本的应用程序可用时,我希望应用程序自动下载并更新/安装更新版本的软件包,以便最终用户看起来无缝.

基于Apache Felix OSGi Bundle Repository文档的Motivation部分(目前已过时),我认为这是OBR的目的.那是对的吗?

如果没有,那么这种情况有哪些解决方案?

如果是这样:

    OBR存储库是什么样的?我设想它看起来有点像maven存储库,可以通过Internet访问,该XML文件描述了存储库中的可用包.

    如何管理可以从Internet访问的存储库?

上述文件指出:

OBR"存储库服务器"不是必需的,因为所有功能都可以驻留在客户端.

但我认为对于那些应该可以从Internet访问的存储库确实存在一些"OBR存储库服务器".在这个示例情况下,我宁愿存储库不在客户端,而是在服务器上,因此客户端可以轻松更新.为了实现这一点,我是否只需设置一个HTTP服务器来托管1)一些描述存储库中可用包的xml文件,以及2)包?

最后,是否有一个简单的示例,演示了所有这些如何协同工作?

1 个回答
  • 你的理解是完全正确的.使用OBR时需要注意的主要问题是,当最终确定时,XML格式会发生很大变化.有时'OBR支持'意味着旧式,有时候是新风格.只要客户端和服务器一致,任何一个都应该没问题.新格式更丰富,但目前对旧款式有更广泛的支持.

    要设置自己的http主机,您可以使用repoindex(以前称为bindex).Apache Aries还有一个存储库生成工具.

    在maven bundle插件中使用'index'目标将生成OBR元数据,并且还可以直接配置bnd以生成repository.xml.

    最后,如果您不想直接管理http服务器,Nexus和Karaf Cave会提供OBR存储库托管.

    您可能还会发现此问题有用:OSGI OBR存储库托管?

    2023-02-13 12:59 回答
撰写答案
今天,你开发时遇到什么问题呢?
立即提问
热门标签
PHP1.CN | 中国最专业的PHP中文社区 | PNG素材下载 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有