【发布时间】:2011-11-21 08:30:54
【问题描述】:
所以我今天下午花了一些时间终于坐下来开始阅读神秘而难以捉摸的“OSGi”及其所谓的bundles。
好的,所以我认为我明白了。 OSGi“捆绑包”基本上是一个带有一些附加清单信息的 JAR。而且,您无需将其部署到普通的应用程序服务器(或其他容器),而是将其部署到像 Apache Felix 这样的 OSGi 服务器。它运行,然后为用户/客户提供服务。
这与部署到应用服务器的普通 EAR 有何不同???
OSGi 似乎正在崛起(我一直在遇到它!),但对于我的生活,我不明白它提供了什么(功能方面)超过你可以用真正的企业服务器做的任何事情,比如GlassFish 或 Spring。
我知道世界并没有变得疯狂,所以我显然错过了一些东西。只是一直想不通是什么。感谢您的帮助或见解!
【问题讨论】:
-
我认为如果将其表述为“OSGi 和 Java EE 之间的根本区别是什么”,那么这将更有用,而不是“基于意见”
-
此时可以说... OSGi 主要是执行 CDI 试图解决的问题(依赖注入和解析)但不会通常阻止它运行的容器有错误。它提供了一个界面[通常通过命令行],允许在运行时进行修复。 Java EE 需要部署来解决这些问题。 Java EE 是一个应用程序堆栈,虽然它提供容器服务,但它只在应用程序的范围内(尽管可能会从服务器获得注入)请注意,尽管大型 Java EE 服务器现在构建在 OSGi 上。
标签: java jakarta-ee osgi