在我之前的文章之后,许多人一直在询问转向 OSGi Web 容器将对 dm Server 产生什么影响。最常见的问题是
- 添加了什么?
- 保持不变的是什么?
- 有什么变化?
- 如何保持最新?
我将分别解答这些问题。如果您还有其他问题,请随时发表评论。
添加了什么?
与 Web 容器 RI 集成将使 dm Server 能够访问 OSGi Web 容器标准的所有功能。这包括处理 WAR 的标准模型,对webbundle URL 方案的支持以及对 Web 容器扩展程序的支持。
我正在探索 RI 的一些不错的增值功能,包括使用 ConfigAdmin 进行动态配置,一个全面的 MBean 接口来检查已部署的 Web 捆绑包以及 EventAdmin 集成以监控生命周期事件。所有这些功能都将添加到 dm Server 和 RI。
保持不变的是什么?
您会很高兴地知道,您在 dm Server 中了解的关于 Web 应用程序的大部分内容保持不变。
使用 dm Server 部署程序
除了对webbundle URL 的支持外,仍然可以使用 dm Server 部署程序部署 WAR 文件。所有路径都支持部署程序,包括拾取目录、部署程序 MBean 和管理控制台。
使用 dm Server 部署程序部署时,将从配置的存储库链中可用的捆绑包自动安装 WAR 文件依赖项。
WAR 部署模式
程序员指南中提到的所有 WAR 类型都保留了下来——事实上,它们是 Web 容器标准的一部分。
系统包导入
使用 dm Server 部署的 WAR 将自动导入所有配置的系统包,即使此功能未包含在标准中。如果使用webbundle URL 进行部署,则可以使用 URL 参数触发系统包导入。我希望规范在此领域包含一些标准行为
有什么变化?
我们的目标是保持 dm Server 中大部分功能不变,但是转向 Web 容器确实需要进行一些更改。与此同时,我们正在利用代码重构来整合我们从用户那里看到的更受欢迎的功能请求。
Web 模块已被移除
最大的变化是删除了Web 模块。我们更倾向于支持基于标准的方法,现在我们已经能够与 OSGi 联盟合作创建基于标准的 OSGi Web 应用程序方法,我们正在转向它,而不是 dm Server 特定的解决方案。
对于今天正在使用 Web 模块的用户,我非常想知道您最喜欢的功能以及您不愿意失去的功能。没有什么理由不能在 Web 容器 Web 捆绑包之上重新设计重要的 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 访问这些存储库:
我将定期在此处发布博客文章,您也可以使用#osgi 和#dmserver在 Twitter 上关注进展。