有很多应用程序正在向osgi发展。互联网上有很多关于使用OSGi的好处的材料。但是我没有看到使用非OSGi(旧方法)构建/分发大型Java Web应用程序的当前方法存在的问题。可以有人
答案 0 :(得分:3)
“当前”方式是WAR文件,它们是无共享的。如果您有三个Web应用程序并且它们都使用commons-lang,则必须部署同一个jar文件的三个副本 (你可能是对的,对大多数人来说这不是一个真正的问题)。
除此之外,OSGi还部署了捆绑包,而不是应用程序。这允许在运行时升级或激活应用程序的各个部分。但不确定这对许多人来说是否重要。实际上,缺少“应用程序粒度”导致大量“可移动部分”以构成应用程序的所有包的形式可见。这使部署人员感到困惑。 OSGi正在努力解决这个问题。
最后,在OSGi中,“容器”功能通常也是“应用程序”捆绑包的一部分(而不像JBoss那样明显与应用程序代码分开的黑盒子)。在某种程度上带上你自己的容器。非常灵活,但对于部署人员来说又令人困惑。