如何使用OSGi实现多租户?任何人都可以解释

时间:2013-05-22 08:57:24

标签: osgi multi-tenant

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

由于

3 个答案:

答案 0 :(得分:5)

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

David Bosschaert撰写了一篇很好的文章:

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

请注意,这些东西还远未成为主流,所以你可能会遇到一些早期的采用者问题,如果你的时间紧迫,我会反对它。

或者,您可以查看:

  • Apache Karaf实例。 Apache Karaf是一个轻量级的OSGi容器,可以创建嵌套的实例,可以与父级共享代码/服务。
  • 自己嵌套OSGi实例。自己启动OSGi实际上并不是那么重要,您可以选择要与子实例共享的包和服务。

答案 1 :(得分:3)

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

答案 2 :(得分:0)

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

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