OSGi Web 容器对 dm Server 的意义

工程 | Rob Harrop | 2009年6月1日 | ...

继我上一篇博文之后,许多人一直在询问迁移到 OSGi Web 容器对 dm Server 会产生什么影响。最常见的问题是

  • 添加了什么?
  • 哪些保持不变?
  • 哪些发生了变化?
  • 如何保持最新?

我将分别解答这些问题。如果您还有其他问题,请随时发表评论。

添加了什么?

与 Web 容器 RI 集成将使 dm Server 能够访问 OSGi Web 容器标准的所有功能。这包括处理 WAR 的标准模型、对webbundle URL 方案的支持以及对 Web 容器扩展程序的支持。

我正在探索 RI 的一些不错的增值功能,包括使用 ConfigAdmin 进行动态配置、用于内省已部署 Web bundle 的全面 MBean 接口以及用于监视生命周期事件的 EventAdmin 集成。所有这些功能都将添加到 dm Server 以及 RI 中。

哪些保持不变?

您会很高兴地知道,您在 dm Server 中了解到的有关 Web 应用程序的大部分内容都保持不变。

使用 dm Server 部署程序

除了支持webbundle URL 之外,仍然可以使用 dm Server 部署程序部署 WAR 文件。所有部署程序路径都受支持,包括拾取目录、部署程序 MBean 和管理控制台。

使用 dm Server 部署程序部署时,WAR 文件依赖项将从配置的存储库链中可用的 bundle 自动安装。

WAR 部署模式

程序员指南中提到的所有 WAR 类型都保持不变 - 实际上它们是 Web 容器标准的一部分。

系统包导入

使用 dm Server 部署的 WAR 将自动导入所有配置的系统包,即使此功能未进入标准中。如果使用webbundle URL 进行部署,则可以使用 URL 参数触发系统包导入。我希望规范将在这一领域包含一些标准行为。

哪些发生了变化?

我们的目标是在 dm Server 中保持尽可能多的功能不变,但迁移到 Web 容器确实需要进行一些更改。同时,我们正在利用代码重构来集成我们从用户那里看到的更多受欢迎的功能请求。

Web 模块将被移除

最大的变化是删除了Web 模块。我们更倾向于支持基于标准的方法,现在我们已经能够与 OSGi 联盟合作,为 OSGi 上的 Web 应用程序创建基于标准的方法,因此我们正在转向它,而不是 dm Server 特定的解决方案。

对于那些今天正在使用 Web 模块的用户,我非常想知道您最喜欢的功能是什么,以及您会因此而感到遗憾。没有理由不能在 Web 容器 Web bundle 的基础上重新设计重要的 Web 模块功能。

切换到 Tomcat 配置格式

在 1.0.x 系列中,嵌入在 dm Server 中的 Tomcat 实例使用 JSON 配置文件格式进行配置。我们的许多用户都要求我们切换回使用 Tomcat 的 XML 格式。Web 容器 RI 使用标准的 Tomcat 格式,当 dm Server 切换到 Web 容器时,它也将切换配置文件格式。

我仍在最终确定配置文件将存储在何处的具体细节。我希望能够使用占位符参数化 Tomcat 配置文件,这些占位符可以从 ConfigAdmin 中填充。

如何保持最新?

保持了解最新进展的最简单方法是跟踪 Web 容器和 dm Server Web 的 SVN 存储库。您可以在以下 URL 访问这些存储库

我将定期在此处发布博文,您也可以使用#osgi#dmserver在 Twitter 上关注进度。

获取 Spring 时事通讯

与 Spring 时事通讯保持联系

订阅

领先一步

VMware 提供培训和认证,以加快您的进步。

了解更多

获取支持

Tanzu Spring 在一个简单的订阅中提供 OpenJDK™、Spring 和 Apache Tomcat® 的支持和二进制文件。

了解更多

即将举行的活动

查看 Spring 社区中所有即将举行的活动。

查看全部