1

最近我们正在尝试使用 OSGi 框架实现多租户......我无法继续,如何使用 OSGi 启动多租户?任何人都可以发布相关信息以开发多租户...

谢谢

4

3 回答 3

5

直到最近,OSGi 还没有官方的答案,但是随着 OSGi 5 中的“子系统”规范而改变。

David Bosschaert 写了一篇关于它的好文章:

http://coderthoughts.blogspot.nl/2013/04/osgi-subsystems.html

请注意,这些东西还远不是主流,所以你可能会遇到一些早期采用者的问题,如果你的时间很紧,我建议你不要这样做。

或者,您可以查看:

  • Apache Karaf 实例。Apache Karaf 是一个轻量级的 OSGi 容器,可以创建嵌套实例,可以与其父级共享代码/服务。
  • 自己嵌套 OSGi 实例。自己启动一个 OSGi 实际上并没有那么重,您可以选择要与子实例共享哪些包和服务。
于 2013-05-22T09:32:48.110 回答
3

到目前为止,最简单的解决方案是为每个实例启动一个框架。OSGi 不是应用服务器,尝试(ab)像一般应用服务器一样使用它意味着您不了解 OSGi 背后的想法。OSGi 是一种组织应用程序的方法,因此您可以使用可重用组件构建(大型)应用程序。

于 2013-05-22T14:34:20.377 回答
0

总的来说,我同意 Peter 的观点,即在许多情况下,启动多个框架是迄今为止最简单的方法。然而,也有一些缺点(主要是在部署领域)。

Amdatu 项目有一种在 OSGi 服务级别使用多租户的方法。您基本上可以修改现有捆绑包以成为多租户,而无需任何实际代码更改。文档可在网站上找到:https ://amdatu.org/application/multitenancy/

于 2013-05-22T19:10:25.693 回答