Red Hat 对 SpringSource 的领导地位做出反应

工程 | Rod Johnson | 2009 年 6 月 3 日 | ...

正如《Register》和多家博客作者所指出的那样,Red Hat 最近宣布了一项防御性举措,其动机是试图追赶 SpringSource。显然,SpringSource tc Server 和 dm Server 的发展势头让 Red Hat 感到担忧,同时 Spring Framework 作为企业 Java 的事实标准组件模型的持续发展也引起了 Red Hat 的注意。

“JBoss Open Choice 策略”似乎是一种重新包装,而不是新技术,它试图将 JBoss 定位为在需求不断变化的崭新世界中仍然具有相关性。这种重新包装不仅显而易见是反应性的,而且大部分…

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 捆绑包的综合 MBean 接口以及用于监视生命周期事件的 EventAdmin 集成。所有这些功能都将添加到 dm Server 和 RI 中。

什么保持不变?

您会很高兴地知道,您在 dm Server 中学到的关于 Web 应用程序的大部分知识都保持不变。

使用 dm Server 部署器

除了支持 webbundle URL 之外,WAR 文件仍然可以使用 dm Server 部署器进行部署。部署器的所有路径都受支持,包括 pickup 目录、部署器 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 容器时,它也会切换配置文件格式。

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

我如何保持最新?

了解进展的最简单方法是跟踪 Web 容器和 dm Server Web 的 SVN 仓库。您可以通过以下 URL 访问这些仓库

我将在此处定期发布博客,您可以在 Twitter 上通过 #osgi#dmserver 关注进展。

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 的版本控制说明。

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

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

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 的 provisioning 系统使用。同样,当构件从该目录中移除时,它们将不再可供 dm Server 的 provisioning 系统使用。

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

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

使用 OSGi 配置文件与 Bundlor

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

当管理和转换 SpringSource Enterprise Bundle Repository 中包含的许多 bundle 时,记住哪些包被引导委托、从系统 bundle 导出或从系统中的其他 bundle 导出变得非常困难。此信息很重要,因为您可能不想导入被引导委托的包,您可能希望导入“0”处的系统 bundle 包,并且您希望为所有其他包定义自定义导入。记住哪些包属于这些类别中的每一个最终会有点容易出错,并且定义模板……

Grails 1.1.1 发布,支持 Google AppEngine

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

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

Groovy 本身自推出以来就一直在 AppEngine 上运行,但我们不得不在 Grails 中进行一些调整,以使 Grails 应用程序在 AppEngine 上运行。

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

Bundlor 版本扩展和属性替换

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

介绍

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

属性替换

Bundlor 现在可用于将任何属性值替换到您的 Manifest 模板中。

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 日 | ...

那是 4 月 27 日下午 2:39 左右,Rod 在他的SpringOne Europe 开幕主题演讲中宣布

“STS 将免费!”

我们的合作伙伴 namicsReto Meier 拍了一张照片作为那一刻的证据,并发布在 flickr.com 上。SpringOne 的听众似乎也对这一宣布感到非常激动,因此该消息很快就在会议之外传开了。

所以,既然 Rod 已经承诺了,我们就不能食言了…… ;-)

Rod @ SpringOne

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

Spring Framework 3.0 M3 已发布

工程 | Juergen Hoeller | 2009 年 5 月 6 日 | ...

我们很高兴地宣布,第三个 Spring 3.0 里程碑版本现已可用(下载页面)!此版本带来了许多新功能和改进,包括……

参考文档:M3 是第一个提供 HTML 和 PDF 格式参考文档的 Spring 3.0 里程碑版本。即使文档仍在进行中,它目前也涵盖了许多 3.0 功能领域。我们希望您会发现这个早期版本的文档对于了解更多关于 3.0 里程碑功能的信息很有用。

带注解的工厂方法:Spring 3.0 M3 包含了核心……

获取 Spring 新闻通讯

通过 Spring 新闻通讯保持联系

订阅

领先一步

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

了解更多

获得支持

Tanzu Spring 提供 OpenJDK™、Spring 和 Apache Tomcat® 的支持和二进制文件,只需一份简单的订阅。

了解更多

即将举行的活动

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

查看所有