Spring 中的日志依赖

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

本文讨论了 Spring 做出的选择以及开发者在构建基于 Spring 的应用时关于日志的选项。之所以选在 Spring 3.0 即将发布之际发布,并非因为我们做了很多改动(尽管我们现在对依赖元数据更加小心了),而是为了让您在如何实现和配置应用程序中的日志方面做出明智的决定。首先我们简要介绍一下 Spring 中强制性的依赖,然后更详细地讨论如何设置您的应用程序来使用一些示例...

使用 Maven 获取 Spring 3 Artifacts

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

这里的一位近期评论者抱怨说,“只有一半的人在使用 Maven”,同时指出如何使用 Maven 获取 Spring 3 的 artifact 并不显而易见。在这篇文章中,我将向您展示如何做到这一点以及有哪些选项。这些信息也将整合到即将发布的 Spring 3 最终版的参考文档中。

发布 Spring Artifacts 的 Maven 仓库

一般来说,Spring 在两个不同的地方发布其 artifacts

  1. Maven Central,这是 Maven 默认查询的仓库,无需任何特殊配置即可使用
  2. 企业 Bundle 仓库 (EBR),由 SpringSource 运营,也托管所有与 Spring 集成的库

所以在使用 Maven 获取 Spring 时,您首先需要决定从哪个地方获取。总的来说,如果您关心 OSGi,请使用 EBR,因为它包含所有 Spring 依赖(例如 Hibernate 和 Freemarker)的OSGi 兼容 artifacts。如果您不关心 OSGi,两个地方都可以,尽管它们之间有一些优点和缺点。一般来说,您的项目请选择其中一个地方;不要混用。这一点尤为重要,因为 EBR artifacts 使用与 Maven Central 不同的命名约定...

Spring Framework 3.0 RC3 发布

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

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

此发布候选版本带来了一些增强:例如,新的 <mvc:*> 命名空间中扩展的功能,以及对启动/关闭行为的进一步修订(影响消息监听器和计划任务)。欢迎您尽早试用这些功能!我们也非常渴望了解现有 Spring 2.5 应用程序的升级体验,因为我们预计您的许多应用程序会选择性地采用 3.0 功能...同时保留大部分代码...

Eclipse.org 上的 Gemini 项目提案

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

本周,Gemini 项目提案在 Eclipse.org 上揭晓。Gemini 是 Eclipse RT(runtime)项目的一部分,该项目“旨在基于 Equinox 框架和 OSGi 在 Eclipse 中培育、推广和托管运行时工作”(Eclipse RT 使命声明)。Gemini 本身是一个伞状项目,汇集了一系列专为企业应用程序开发设计的模块。SpringSource 和 Oracle 是首批为该项目提供 committer 的两家公司,还有几家其他公司也表达了加入的意愿。

最初贡献的项目包括...

最新 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 3.0.0 Release Candidate 2 现已发布

版本发布 | Adam Fitzgerald | 2009年11月13日 | ...

来自Arjen Poutsmatwitter:Spring 3.0.0.RC2 现已可用。此候选版本包含社区成员提出的许多问题的修复,并且已更新以支持 JSR-330 "javax.inject" 和 JSR-303 "javax.validation" API 的最终版本。


下载 | 文档 | Javadoc API | 变更日志 | JIRA


感谢所有做出反馈并发现问题的敬业社区成员。请在我们接近 GA 版本之际,继续努力。

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 社区所有即将举行的活动。

查看全部