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 进行动态配置,一个全面的 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 访问这些存储库

我将定期在此博客上发帖,您也可以使用#osgi#dmserver在 Twitter 上关注进展。

Spring Roo 入门

工程 | Ben Alex | 2009年5月27日 | ...

更新:“Spring Roo 简介”博客系列的第三部分现已推出,详细介绍了 Roo 的内部架构。

我必须承认一件事。虽然你们许多人都知道我近几个月一直在忙着开发Spring Roo,但我还有一个单独的项目没有提交到 Subversion。另一个项目是计划我们的婚礼,因为下个月我和我的未婚妻将出国结婚。因此,当我考虑在本篇关于 Roo 的博客文章中向你们展示什么时,我突然想到我应该利用这个机会使用 Roo 来构建我们婚礼的RSVP网站!因此,今天我们将学习如何使用 Roo 构建一个婚礼 RSVP 网站,我的几位同事评论说这是追求工作与生活平衡的一个有进取心的例子。 :-)

进度更新

如果您错过了2009年5月1日的Spring Roo 博客系列的第一部分,简而言之,我介绍了 SpringSource 新的开源生产力工具的愿景,该工具旨在帮助那些希望快速构建最佳实践的 Java Spring 应用程序的人。正如许多玩过 alpha 版本的人所发现的那样,Spring Roo 提供了一种强大且易于使用的方法来进行高效的应用程序开发,Roo 背后的许多动力都出现在第一个 Jira 问题ROO-1中(由 Spring 之父和 SpringSource 首席执行官 Rod Johnson 记录)。

今天,我很高兴地宣布我们刚刚发布了Spring Roo 1.0.0.M1。此版本不仅包含许多修复、增强功能和 31% 的性能改进,还包含一系列令人兴奋的新功能,包括电子邮件服务JMSSpring Web Flow、简化的安装和自动Selenium支持。这建立在我之前博客文章中提到的 alpha 版本中已经存在的许多功能之上,之前的博客条目。

除了开发第一个里程碑版本之外,在过去的一个月中,我们还建立了开源项目典型的公共项目基础设施。我们现在可以使用社区支持论坛、Jira问题跟踪、公共Subversion 存储库、FishEye源代码监控等等。在#roo Twitter上报告的一些评论……

OSGi Web 容器简介

工程 | Rob Harrop | 2009年5月27日 | ...

更新:为 Git 添加了版本控制说明。

在过去的几个月里,我一直在与来自 OSGi 企业专家组的 Subbarao Meduri、Graham Charters、Hal Hildebrand 和其他人一起研究 RFC66 Web 容器规范。Web 容器规范定义了如何以标准方式在 OSGi 服务平台上部署 WAR 文件。

这对我们来说非常有趣,因为 dm Server 已经支持 WAR 文件将近 18 个月了,我们很高兴能够朝着标准模型努力。作为最终用户,您将能够在 OSGi 上部署 WAR 文件,而无需……

Spring BlazeDS 集成 1.0.0.RC2 发布

发行版 | Jeremy Grelle | 2009年5月20日 | ...

尊敬的 Spring 社区:

我很高兴地宣布,用于使用 Adobe Flex 构建 Spring 驱动的 RIA 的开源解决方案Spring BlazeDS 集成的第二个候选版本现已推出。

下载 | 参考文档 | JavaDocs | 更改日志

这主要是一个错误修复版本,用于纠正由于对 RC1 的精彩社区反馈而发现的一些小问题,但我们还对项目的打包和提供方式做了一些关键改进。我们现在将与 Adobe 共同开发的全面 Spring BlazeDS 集成测试驱动程序示例应用程序与项目分发一起捆绑在一起。此版本的 Test Drive 设置为使用 Maven 构建,导入到 Eclipse 中,并使用 WTP 运行。参考手册中添加了关于构建和运行示例的简短指南。此外,这是第一个发布与 Maven 中心兼容的 POM 的版本,可在我们的里程碑存储库中找到。

社区在整个开发过程中为我们提供了极好的反馈,我鼓励任何感兴趣的人都参与进来,尝试新的功能,并在我们快速推进到最终 1.0 版本的过程中,在社区论坛Jira中给我们反馈。


Jeremy Grelle
Spring BlazeDS 集成负责人

dm Server 2.0 M2

工程 | Andy Wilkinson | 2009年5月19日 | ...

dm Server 2.0.0.M2 已经发布,现在可以下载。自从 2.0.0.M1 之后的两个冲刺中,我们在最终版本方面取得了重大进展,无论是在新功能方面,还是在缺陷修复方面。如果您有兴趣了解我们一直在从事的所有工作,请查看M2 发行说明。请继续通过我们的博客评论、论坛和JIRA提供您的反馈。

新增和值得注意的功能

Spring 3 支持

在此里程碑版本中,我们已将 dm Server 升级到在 Spring 3 上运行。随着我们朝着 dm Server 2.0 的最终版本迈进,我们将随着新的里程碑版本和快照版本的推出而升级 Spring 3 的版本。

克隆改进

我们在对自动克隆的支持方面做了一些重大改进。例如,您现在可以在同一个 dm Server 中并排运行基于 Spring 2.5.6 和 Spring 3 的应用程序。

监控的存储库

已添加对监控的存储库的支持。监控的存储库配置为监控文件系统上的目录,并且随着工件添加到目录中,它们将可用于 dm Server 的配置系统。同样,当工件从目录中移除时,它们将不再可用于 dm Server 的配置系统。

以下是监控存储库的一些示例配置

"watched-repo" : {
    "type" : "watched",
    "watchDirectory" : "repository/watched",
    "watchInterval" : 5
}

使用 Bundlor 使用 OSGi 配置文件

工程 | Ben Hale | 2009年5月18日 | ...

在管理和转换SpringSource企业Bundle仓库中包含的众多Bundle时,记住哪些包是引导委托的、从系统Bundle导出的,还是从系统中的其他Bundle导出的,变得非常困难。此信息非常重要,因为您可能不希望导入引导委托的包,您可能希望以“0”导入系统Bundle包,并且您希望为所有其他包定义自定义导入。记住哪些包属于这些类别中的每一个最终会容易出错,并且定义模板……

Grails 1.1.1 发布,包含 Google App Engine 支持

工程 | Graeme Rocher | 2009年5月14日 | ...

今天,我们高兴地宣布Grails 1.1.1的可用性,它在对Grails 1.1进行许多增量改进的同时,还引入了对Google App Engine的官方支持。

Groovy 自身自从推出以来就在 App Engine 上运行,但我们必须在 Grails 中进行一些调整才能使 Grails 应用程序在 App Engine 上运行。

这其中包括引入了一个App Engine 插件,该插件用 JDO(很快还有JPA)替换 Hibernate 来进行持久化,以便利用 Google 的 DataStore API。App Engine 插件还集成了 App Engine 开发……

Bundlor 版本扩展和属性替换

工程 | Christopher Frost | 2009年5月12日 | ...

介绍

最近发布了 Bundlor 的 M3 里程碑版本(论坛公告)。此里程碑版本增加了对属性替换和版本扩展的支持。这篇博文解释了如何使用这些新功能来提高生成的清单的质量。

属性替换

Bundlor 现在可以用来将任何属性值替换到您的清单模板中。

Bundle-Name: ${name}
Bundle-Description: Test bundle using new version of Kernel at ${com.springsource.kernel}
Import-Template: com.springsource.kernel.*;version="${com.springsource.kernel}"

此语法允许您为${name}${com.springsource.kernel}指定属性占位符,并在运行时将它们替换为实际值。传递这些值的方式取决于使用的 Bundlor 前端。

在命令行指定属性

当从命令行运行 Bundlor 时,它将使用所有可用的系统属性,这并不包括任何环境变量。命令行脚本将传递通过-D传递的任何变量,因此以下内容将为${com.springsource.kernel}属性提供值为“2.0.0.RELEASE”的值,而${name}……

SpringSource Tool Suite 现在免费

工程 | Christian Dupuis | 2009年5月7日 | ...

大约在下午2:39,Rod 在他的SpringOne Europe开幕主题演讲中宣布

“STS 将免费!”

Reto Meier 与我们的合作伙伴namics一起拍了一张照片作为那一刻的证明,并将其发布在flickr.com上。SpringOne 的观众似乎也对这一声明感到兴奋,因此,这一消息很快就在会议之外传播开来。

所以我们在这里,既然 Rod 承诺了,我们就不能反悔…… ;-)

Rod @ SpringOne

今天,我们自豪地兑现了 Rod 的承诺,并宣布已发布 STS 的第一个免费版本,并可从产品页面下载……

Spring BlazeDS 集成 1.0.0.RC1 发布

发行版 | Jeremy Grelle | 2009年5月6日 | ...

尊敬的 Spring 社区:

我很高兴地宣布,开源 Spring Web 项目中最新项目——Spring BlazeDS 集成 的第一个候选版本现已可用。

下载 | 参考文档 | JavaDocs | 更改日志

除了许多错误修复和一些常规重构之外,此版本中添加的主要功能包括

  • 基于注解的远程目标配置
  • 许多自定义挂钩,例如异常转换和集成第三方适配器
  • 与 BlazeDS 消息服务的完全集成,包括对 AMF、JMS 和 Spring 集成消息传输的支持

对于从 M2 升级的用户,请注意,<flex:remote-service> 标签已重命名为 <flex:remoting-destination>,以与 BlazeDS 命名法保持一致。除此之外,从 M2 升级到 RC1 的过程应该很顺利。

社区在整个开发过程中为我们提供了极好的反馈,我鼓励任何感兴趣的人参与进来,尝试新功能,并在社区论坛Jira中给我们反馈,因为我们将快速推进到完整的 1.0 版本。

在 1.0 版本发布之前,SpringSource 和 Adobe 将于 5 月 14 日联合举办另一场电子研讨会,介绍如何开始使用 Adobe Flex 和 Spring BlazeDS 集成构建 Spring 驱动的 RIA。您可以在这里注册参加此免费电子研讨会。

Jeremy Grelle
Spring BlazeDS 集成负责人

获取 Spring Newsletter

通过 Spring Newsletter 保持联系

订阅

领先一步

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

了解更多

获得支持

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

了解更多

即将举行的活动

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

查看全部