Spring Framework 3.0 正式发布

工程 | Juergen Hoeller | 2009 年 12 月 16 日 | ...

经过漫长的旅程,我很高兴地宣布 Spring 3.0 GA (.RELEASE) 终于发布了(下载页面)!所有 SpringSource 团队都在庆祝 - 加入我们吧 :-)

最近的一些新闻,Spring 3.0 GA 现在在运行时环境方面与 Java EE 6 正式版兼容(例如,上周发布的 GlassFish v3)并且已经支持 JPA 2.0 正式版(例如,使用 EclipseLink 2.0)。我们还支持新引入的 @ManagedBean(JSR-250 v1.1)注解用于组件扫描,这很好地补充了我们对 @Inject(JSR-330)用于注解驱动的依赖注入的支持。

VI Java API 和 CloudTools

工程 | Charles Lee | 2009 年 12 月 08 日 | ...

虚拟基础架构 Java API 或 vSphere API 的创建者 Steve Jin 最近将他在 VMworld 2009 主题演讲中完成的工作贡献给了 CloudTools 存储库。CloudTools 是一个开源项目,它为 Cloud Foundry 提供了核心基础设施供应和应用程序部署功能。Steve 的代码不仅演示了如何通过 Cloud Foundry 用户界面将 Java 应用程序部署到 vSphere 基础架构,还展示了如何轻松地向 CloudTools 添加适配器以启用 Java 应用程序部署到不同的……

在 Spring 中记录依赖项

工程 | Dave Syer | 2009 年 12 月 04 日 | ...

本文讨论了 Spring 做出的选择以及开发人员在使用 Spring 构建的应用程序中进行日志记录时可用的选项。这正值 Spring 3.0 即将发布之际,并非因为我们对任何内容进行了重大更改(尽管我们现在对依赖项元数据更加小心),而是为了让您能够做出明智的决策,了解如何在应用程序中实现和配置日志记录。首先,我们简要介绍一下 Spring 中的强制依赖项是什么,然后详细讨论如何设置应用程序以使用一些示例……

使用 Maven 获取 Spring 3 工件

工程 | Keith Donald | 2009 年 12 月 02 日 | ...

一位 最近的评论者 说道:“只有世界的一半在使用 Maven”,当指出使用 Maven 获取 Spring 3 工件并不明显时。在本条目中,我将向您展示如何执行此操作以及有哪些选项。此信息还将集成到即将发布的 Spring 3 正式版的参考文档中。

发布 Spring 工件的 Maven 存储库

通常,Spring 将其工件发布到两个不同的地方

  1. Maven Central,它是 Maven 查询的默认存储库,并且无需任何特殊配置即可使用
  2. 企业捆绑存储库(EBR),由 SpringSource 运行,还托管所有与 Spring 集成的库

因此,使用 Maven 获取 Spring 时,首先需要确定您将从哪个地方获取它。通常,如果您关心 OSGi,请使用 EBR,因为它包含所有 Spring 依赖项(如 Hibernate 和 Freemarker)的与 OSGi 兼容的工件。如果 OSGi 对您来说无关紧要,则这两个地方都可以,但它们之间存在一些优缺点。通常,为您的项目选择一个地方或另一个地方;不要混合使用它们。这一点尤其重要,因为 EBR 工件使用与 Maven Central 不同的命名约定……

Spring Framework 3.0 RC3 发布

工程 | Juergen Hoeller | 2009 年 12 月 01 日 | ...

我们在正式发布之前决定发布另一个 Spring 3.0 发布候选版本:从 下载页面 获取它,进行彻底的测试,并告诉我们您的使用体验。Spring 3.0 现在正在等待您的集成测试反馈,并最终将在 12 月中旬正式发布。

此发布候选版本包含多项增强功能:例如,新 <mvc:*> 命名空间中的扩展功能,以及启动/关闭行为的进一步修订(影响消息侦听器和计划任务)。随意尝试这些功能!我们也非常想知道使用现有 Spring 2.5 应用程序的升级体验,因为我们预计您的许多应用程序将选择性地采用 3.0 功能……同时保留大部分代码……

Eclipse.org 上的 Gemini 项目提案

工程 | Adrian Colyer | 2009 年 11 月 24 日 | ...

本周,Gemini 项目提案 在 Eclipse.org 上发布。Gemini 是 Eclipse RT(运行时)项目的一部分,该项目“旨在在基于 Equinox 框架和 OSGi 的基础上,培养、促进和容纳 Eclipse 中的运行时工作”(Eclipse RT 任务说明)。Gemini 本身是一个伞形项目,汇集了一系列模块,这些模块专为企业应用程序开发而设计。SpringSource 和 Oracle 是为该项目提供提交者的前两家公司,其他几家公司也表达了加入的兴趣。

最初贡献的项目……

最新 Cloud Foundry 中的新功能

工程 | Charles Lee | 2009 年 11 月 23 日 | ...

我们最近更新了 CloudFoundry.com。通过此更新,我们引入了几个令人兴奋的新功能,为未来的发展铺平了道路。我想借此机会描述和解释这些功能,并提供一些背景信息。我们很高兴您能试用它们并向我们提供反馈。

成本跟踪

虽然云的按使用付费模式可以减少支出,但跟踪实际使用情况和成本非常重要,这样就不会导致意外的大额账单。以前,Cloud Foundry 会通知用户其部署的当前支出率。这对于了解计量率很有用,但它并没有清楚地了解或统计应用程序部署的实际成本。Cloud Foundry 的最新更新为成本跟踪提供了一个新的历史记录功能。对于正在运行的部署,Cloud Foundry 会显示迄今为止的成本。对于不再活动的部署,会显示该部署在其整个生命周期内运行的总成本。

Screen shot 2009-11-18 at 12.59.52 PM

除了防止每月账单让您感到意外之外,当您需要将每个应用程序的成本与预算进行比较时,这一点尤其有用。如果您的预算来自将业务目标与支出关联,那么 Cloud Foundry 将清楚地显示您是否已实现目标。随着时间的推移,我们预计将改进此功能以使其更准确(目前不包括网络 I/O 费用)并扩展成本与其他运营指标之间的统计相关性,从而为您提供更好的目标制定和规划工具。

可用区

许多用户请求能够为部署指定可用区,因为 EC2 中的预留实例需要在指定的可用区中启动。预留实例是预付费的,其成本约为按需实例的三分之一。Cloud Foundry 现在提供了指定可用区的功能,并且在配置部署时,选择输入位于区域下方。

Screen shot 2009-11-19 at 10.46.12 AM

注意:成本跟踪不反映使用预留实例节省的成本,因为 Amazon 尚未提供一种方便的方法来检索账单详细信息。

维护页面

如果您需要禁用 Java Web 应用程序以进行维护,则约定是显示一个缓冲页面(又名维护页面),告知用户不可用。Cloud Foundry 现在只需单击一个按钮即可提供此功能。首先,当您添加或编辑应用程序时,您会注意到一个新字段:维护页面。这是您希望在维护模式下显示的静态页面(来自应用程序的根上下文)。部署后,您可以通过转到“部署详细信息”页面并单击“开始维护”来在维护和正常操作之间切换以显示维护页面;并单击“结束维护”以恢复到正常提供应用程序。这是朝着提供完整应用程序生命周期管理支持迈出的一小步。我们上个月引入了与开发工具的集成,我们将分析并确定在将应用程序开发和部署到云中时应支持的各种生命周期阶段/阶段。

克隆部署

复制具有相同配置的环境有很多原因,现在 Cloud Foundry 提供了一种简单的方法来使用部署详细信息页面上的克隆按钮克隆部署。基于现有部署创建重复部署在与维护功能结合使用时尤其有用,以便升级应用程序。当您的部署使用 EBS 卷时,克隆按钮将启用。系统会提示您为克隆命名,并且所有配置都将被复制并在新的部署中启动。克隆部署启动后,您可以通过单击“应用程序”部分中的“重新部署”按钮来部署应用程序的不同版本或完全不同的应用程序。

Screen shot 2009-11-18 at 2.24.05 PM

升级应用程序的活动部署可能涉及一系列步骤
  1. 将经过测试的应用程序上传到 Cloud Foundry
  2. 在当前部署上启用维护页面
  3. 克隆部署
  4. 运行 SQL 脚本以迁移数据库架构
  5. 使用较新版本的应用程序重新部署
  6. 重新配置弹性 IP,以便从静态 IP 地址提供新部署
  7. 停止旧部署
使用克隆功能,通过利用现有的生产部署配置,可以使正在运行的应用程序的升级变得流畅可靠。

其他指标和图表

在 Cloud Foundry Beta 的最新版本中,我们通过扩展收集的指标数量以及添加用户界面功能来增强了监控能力。首先,添加了 Hyperic SIGAR 文件系统指标,以提供对 VM 根磁盘和数据库存储的关键磁盘使用情况的监控。这些指标现在在实例详细信息区域中可见。接下来,已将客户端请求数添加为指标。Cloud Foundry 收集此数据并将其转换为每分钟的基于速率的指标,从而为您提供应用程序使用情况的衡量标准。此指标显示在改进的部署详细信息部分中,以图表形式显示,并列出聚合值(最大值、最小值和平均值)。

Screen shot 2009-11-18 at 3.44.20 PM

这仅仅是提供动态监控显示的开始,该显示提供有用且相关的操作指标和数据。随着时间的推移,我们将添加更多关于性能、健康和资源消耗的指标。

Spring 3 类型转换和验证

工程 | Keith Donald | 2009年11月17日 | ...

Spring 3 正式版即将发布,这将是一个很棒的版本。在本博文中,我将带您了解 Spring 3 的一些类型转换和验证增强功能。无论您是开发传统的 Web 应用程序、桌面应用程序还是“下一代”RIA,数据绑定、类型转换和验证都是重要的领域。正如您在本条目中将看到的,Spring 3 在这些领域的每一个方面都为您提供了重大升级,同时保留了与先前版本的向后兼容性。

新的系统目标

在深入了解功能之前,我想先强调一下……

了解应用程序的价值

工程 | charris | 2009年11月16日 | ...

我们都喜欢使用最新最好的技术构建应用程序,但是归根结底,我们得到报酬是为了交付实现业务目标的应用程序。我们在每次开发迭代中都专注于如何最好地实现这些目标,但我们如何知道最新的迭代是否实现了其目标?最新的版本是否影响了应用程序提供的现有业务目标?

SpringSource 通过让您使用 Spring 检测、显示趋势的监控工具以及允许您导出……的报告工具来了解应用程序,从而提供了这种能力。

Spring Framework 3.0 RC2 发布

工程 | Juergen Hoeller | 2009年11月13日 | ...

我很高兴地宣布,我们今天发布了第二个 Spring 3.0 发布候选版本(下载页面)。此版本在几个方面引入了比 RC1 更重要的改进,特别是

  • Spring 3.0 RC2 完全符合 JSR-330 并通过了 TCK 的最终版本。JSR-330,也称为“Java 的依赖注入”,基本上标准化了一个带有限定符模型的 @Inject 注解。“javax.inject”注解现在可以作为 Spring 自身的 @Autowired 和 @Qualifier 注解的替代方案。Spring 的 <context:annotation-config> 元素也会自动激活 JSR-330 处理(如果存在“javax.inject”API)。

  • 一个专用的 AnnotationConfigApplicationContext:使程序化引导尽可能方便,无需任何 XML。支持显式注册带注解的类以及类路径中的组件扫描。这不仅适用于 Spring 的 @Component 模型,也适用于 @Configuration 类(也称为“JavaConfig”)和符合 JSR-330 的类。

获取 Spring 时事通讯

与 Spring 时事通讯保持联系

订阅

领先一步

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

了解更多

获取支持

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

了解更多

即将举行的活动

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

查看全部