<分区>
有很多应用程序正在转向 osgi。互联网上有很多 Material 都在谈论使用 OSGi 的好处。但是我看不到当前使用非 OSGi(旧方法)构建/分发大型 Java Web 应用程序的方式存在的问题。有人能
- 首先概述了开发、打包和分发大型 Java Web 应用程序的非 OSGi 和 OSGi 方法。
- 其次指出与非OSGi方式相关的问题?
- 第三,转向 OSGi 将如何解决这些问题。也许还可以给出具体的例子和引用资源。
<分区>
有很多应用程序正在转向 osgi。互联网上有很多 Material 都在谈论使用 OSGi 的好处。但是我看不到当前使用非 OSGi(旧方法)构建/分发大型 Java Web 应用程序的方式存在的问题。有人能
最佳答案
“当前”方式是 WAR 文件,它们是无共享的。如果你有三个 web 应用程序并且它们都使用 commons-lang,你必须部署同一个 jar 文件的三个副本 (你可能是对的,因为这对大多数人来说不是真正的问题)。
除此之外,OSGi 部署的是包,而不是应用程序。这允许在运行时升级或激活应用程序的各个部分。不过,不确定这对很多人来说是否重要。事实上,缺少“应用程序粒度”导致大量“可移动部分”以构成应用程序的所有 bundle 的形式可见。这让部署人员感到困惑。 OSGi 正在努力解决这个问题。
最后,在 OSGi 中,“容器”功能通常也是“应用程序” bundle 集的一部分(而不是像 JBoss 那样与应用程序代码明显分开的黑盒)。带上你自己的容器。非常灵活,但又让部署人员感到困惑。
关于java - 当前开发/打包/分发(大型)Java(Web)应用程序的方式有什么问题?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7256160/