模块化 - osgi和数据

时间:2011-10-12 09:22:16

标签: osgi components modularity

我正忙于研发与osgi及其在技术堆栈中的角色。从软件组件的角度来看,我购买了整个模块化和优势。现在,我正在努力解决的问题是以下陈述中的实际要素

  

“OSGi的一个有趣特性是可以将多个版本的bundle部署到同一个容器中。部署在OSGi容器中的所有bundle都在一个JVM中运行”

这对我来说是理想的,也是真正的要求,但实际上,如果我们谈论管理数据的软件组件,这甚至是可行的。因此,部署捆绑包的多个版本(或至少是向后兼容的版本)是有意义的,但如果该组件正在管理数据或资源......我们所说的是对数据和资源层的影响。它们是否同样必须在容器中同时具有多个和内聚的版本。如果存在2个捆绑包,它们是次要版本,但是对第2捆绑数据模式中强加的资源/数据层施加了很大的限制......这不会造成问题。

我的问题是这到底有多远。是否确保我们始终拥有部署的主要捆绑包,并希望让未成年人并行共存。我担心实际物理jar包本身受到关注......但是没有注意到实际的数据/资源是否有任务。

之前有人遇到过这种困境吗?

1 个答案:

答案 0 :(得分:1)

这取决于捆绑包是否具有并排的2个版本是否切实可行。例如,XML解析器的2个版本是可以的。但是,由于SWT管理显示资源,因此2个版本的SWT(在Eclipse中)不行。这就是为什么有些bundle被标记为单例以表明管理一些单一资源的原因。