OSGi Web 容器对 dm Server 的意义
继我之前的文章之后,许多人一直在询问迁移到 OSGi Web 容器对 dm Server 的影响。最常见的问题是
- 添加了什么?
- 保持不变的是什么?
- 有什么变化?
- 如何保持最新?
我将分别解答这些问题。如果您还有其他问题,请随时发表评论。
添加了什么?
与 Web 容器 RI 集成将使 dm Server 可以访问 OSGi Web 容器标准的所有功能。这包括处理 WAR 的标准模型,对webbundle URL 方案的支持以及对 Web 容器扩展器的支持。
我正在探索 RI 的一些不错的增值功能,包括使用 ConfigAdmin 进行动态配置,一个全面的 MBean 接口来检查已部署的 Web bundle 以及 EventAdmin 集成来监控生命周期事件。所有这些功能都将添加到 dm Server 和 RI 中。
保持不变的是什么?
您会很高兴知道,您在 dm Server 中学到的关于 Web 应用程序的大部分内容保持不变。
使用 dm Server 部署程序
除了支持webbundle URL 之外,仍然可以使用 dm Server 部署程序部署 WAR 文件。所有进入部署程序的路径都受支持,包括拾取目录、部署程序 MBean 和管理控制台。
使用 dm Server 部署程序部署时,将从配置的存储库链中可用的 bundle 自动安装 WAR 文件依赖项。
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 容器时,它也将切换配置文件格式。
我仍在最终确定配置文件的存储位置的详细信息。我希望能够使用可以从 ConfigAdmin 填充的占位符来参数化 Tomcat 配置文件。
如何保持最新?
了解进展情况最简单的方法是跟踪 Web 容器和 dm Server Web 的 SVN 存储库。您可以通过以下 URL 访问这些存储库