【问题标题】:OSGi Bundles for Spring and other Applications用于 Spring 和其他应用程序的 OSGi 捆绑包
【发布时间】:2011-05-29 20:08:15
【问题描述】:

如果我使用 OSGi 框架(捆绑包)开发模块,我可以将它们集成到任何基于 OSGI 的应用程序中,例如 Spring,对吗?

我需要注意什么?上下文或不同的数据模型呢?

【问题讨论】:

    标签: java spring osgi


    【解决方案1】:

    你可以对编程语言提出同样的问题:如果你用 Java 开发一些东西,你能把它集成到每个基于 Java 的框架中吗?答案是:视情况而定。

    • 如果您的意思是集成“一次开发功能并在不更改所有应用程序的情况下部署它”,那么您就不走运了。尽管 OSGi 是标准化的,但您应该将开发的模块和服务视为低级构造:任何应用程序框架(例如 Spring)都以自己的方式构建在低级构造之上。
    • 另一方面,如果您的意思是“部署它们并从您自己的代码中开始使用它们”,是的,您通常可以以您喜欢的任何方式混合和匹配捆绑包和服务,前提是您愿意编写一些 '粘合代码”。

    一般来说,是的,您可以获取捆绑包并进行集成,但它不是免费的。如果你把它很好地打包成一个包,它可能会使你的功能更容易集成。

    【讨论】:

    • 我想我的情况还不错,因为我们从头开始使用这两个应用程序。
    【解决方案2】:

    理论上,是的。如果目标 OSGi 应用程序是不同版本的 OSGi 规范(3、4、4.2 等),您必须小心。如果您也在使用特定于平台的 API,则必须小心。

    【讨论】:

    • 是的,有道理。你知道 OSGi 是否向后兼容?
    猜你喜欢
    • 2013-05-29
    • 2014-06-26
    • 1970-01-01
    • 1970-01-01
    • 2013-02-26
    • 1970-01-01
    • 2012-06-26
    • 2015-05-22
    • 1970-01-01
    相关资源
    最近更新 更多