在哪些领域使用OSGI是有意义的?

我正在学习OSGI。它似乎是为创建智能系统而设计的,比如智能家居、物联网设备。OSGI还有其他用例吗?使用OSGI来构建分析平台或AI系统是否有意义?抱歉我的问题可能有些简单。


回答:

对我来说,OSGi最重要的特性是在不停止JVM的情况下,可以在运行时插入或移除代码模块,这样其他模块(除非依赖于被插入或移除的模块)可以继续运行。

例如,Liferay Portal(7.0+)基于OSGi构建,因为它需要在运行时添加或移除功能和应用程序,而不中断门户本身。相反,如果你需要向Spring应用添加一个库(即使是SPI),你至少需要停止它,在pom中添加依赖,重新编译并运行。

使用OSGi还有其他优势(模块化和封装是关键点),但在我看来这是最主要的优势,我不知道有其他Java技术能做到这一点。

无论如何,需要知道的是,OSGi并不是一件容易的事。这些优势的代价是陡峭的学习曲线和大量的尝试与错误。因此,在我看来,使用OSGi应该经过仔细评估,考虑所有因素。

Related Posts

L1-L2正则化的不同系数

我想对网络的权重同时应用L1和L2正则化。然而,我找不…

使用scikit-learn的无监督方法将列表分类成不同组别,有没有办法?

我有一系列实例,每个实例都有一份列表,代表它所遵循的不…

f1_score metric in lightgbm

我想使用自定义指标f1_score来训练一个lgb模型…

通过相关系数矩阵进行特征选择

我在测试不同的算法时,如逻辑回归、高斯朴素贝叶斯、随机…

可以将机器学习库用于流式输入和输出吗?

已关闭。此问题需要更加聚焦。目前不接受回答。 想要改进…

在TensorFlow中,queue.dequeue_up_to()方法的用途是什么?

我对这个方法感到非常困惑,特别是当我发现这个令人费解的…

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注