OSGi与Spring版本控制全解析
1. OSGi 捆绑包版本控制行为
在OSGi中,捆绑包版本控制提供了一种比基于包的版本控制更粗粒度的替代方法。不过,这并不意味着包版本控制可以完全被捆绑包版本控制所取代,实际上,大多数精心设计的OSGi版本控制方法都会结合使用这两种方式。
捆绑包版本控制通过 Bundle-Version 、 Bundle-SymbolicName 和 Require-Bundle 这几个头部信息来支持,其中 Bundle-Version 和 Bundle-SymbolicName 这两个头部信息总是协同工作。也就是说, Bundle-Version 的值是基于 Bundle-SymbolicName 头部信息所分配的值。OSGi会防止安装具有相同 Bundle-Version 和 Bundle-SymbolicName 值的捆绑包。
当安装了使用相同 Bundle-SymbolicName 值的多个版本的捆绑包时,这些捆绑包会继续以相同的包和服务语义运行。不同捆绑包版本之间可能存在的冲突仅涉及包或服务,并且会根据具体情况进行解决。实际上,使用相同 Bundle-SymbolicName 的不同版本的捆绑包会被视为完全不同的捆绑包名称。
2. Require-Bundle头部信息
超级会员免费看
订阅专栏 解锁全文
4167

被折叠的 条评论
为什么被折叠?



