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 Batch Admin 介绍

工程 | Dave Syer | 2009 年 11 月 10 日 | ...

Spring Batch Admin 提供了一个基于 Web 的用户界面,其中包含 Spring Batch 应用程序和系统的管理控制台。这是 SpringSource 的一个新的开源项目。包含以下所有功能的里程碑版本 1.0.0.M1 即将发布,我们希望在 2010 年初发布 1.0.0 最终版本。

主要用例

快速了解 Spring Batch Admin 的最简单方法是查看主要用例的一些截图。用户界面是一个 Web 应用程序(使用 Spring MVC 构建)。

检查作业

作业视图 用户可以检查系统已知的作业。作业可以是可启动的或不可启动的(在截图中它们都是可启动的)。区别在于,可启动作业是在应用程序本身中定义和配置的,而不可启动作业是作为作业在另一个进程中执行后留下的状态检测到的。(Spring Batch 使用关系型数据库来跟踪作业和步骤的状态,因此可以查询历史执行记录来显示不可启动的作业。)

启动作业

启动作业视图 可启动的作业可以通过用户界面启动,其中作业参数以名称值对的形式提供,或者通过应用程序中配置的增量器提供。

检查执行

作业执行视图 一旦作业正在执行或已经执行,此视图可用于查看最近的执行情况以及其状态(STARTED、COMPLETED、FAILED 等)的简要摘要。 作业执行视图 每个独立的执行都有一个更详细的视图(如上所示),用户可以从那里向下点击以查看该作业中的每个步骤执行(本例中只有一个)。想要这样做的常见原因是为了查看失败的原因。 步骤执行(顶部)视图 步骤执行详细视图的顶部显示了此步骤在所有作业执行中的执行历史记录。这对于获取性能特征的统计感受非常有用。在集成测试环境中运行作业的开发人员可能会使用此处的统计信息来比较作业的不同参数设置,以查看更改(例如)项处理步骤中的提交间隔有何影响。 步骤执行(底部)视图 步骤执行视图的底部包含步骤的详细元数据(状态、读取计数、写入计数、提交计数等)以及导致步骤失败的任何异常的堆栈跟踪摘录(如上面所示示例)。

停止执行

停止作业执行视图 正在执行的作业可以由用户停止(无论它是否可启动)。停止信号通过数据库发送,一旦被 Spring Batch 在运行作业的任何进程中检测到,作业将被停止(状态从 STOPPING 变为 STOPPED),并且不再进行进一步处理。

如何获取

最好的起点是 SpringSource 社区下载页面。本文还附带了一个快照下载,或者您可以从 subversion 获取源代码并自行编译。快照构建也每天晚上上传到 S3 的 Maven 仓库
<repository>
	<id>spring-snapshots</id>
	<name>Spring Maven Snapshot Repository</name>
	<url>http://s3.amazonaws.com/maven.springframework.org/snapshot</url>
</repository>

有两个 JAR 包和一个 WAR 示例 (org.springframework.batch:spring-batch-admin…)

Cloud Foundry 集成到开发者工具中

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

得益于其他 SpringSource 项目团队的努力,我们很高兴将三个开发者工具与 Cloud Foundry 集成,它们是 SpringSource Tool Suite、Grails 和 Roo。 这样做的结果是,您可以在不离开您喜欢的 IDE 或命令行界面的情况下,创建和开发您的 Spring 或 Grails 应用程序,并在云中运行它们。 这些工具利用 Cloud Foundry 客户端 Web 服务 API(即将发布),并利用云中的额外智能和 SpringSource 制品仓库,以优化、高效地上传…

dm Server 2.0.0.M6

工程 | Ben Hale | 2009 年 10 月 27 日 | ...

dm Server 2.0.0.M6 现已发布,可从此处下载。

本次发布紧随 M5 发布,因为我们正逼近第一个 2.0.0 候选版本。这次我们着重修复了突出的缺陷,并仅添加了少量新功能。请查阅 M6 发布说明,了解我们修复的缺陷和添加的功能的完整详情。请继续在我们的博客评论区、论坛JIRA 上提供您的反馈。

新功能和值得注意之处

将 dm Kernel 和 dm Server 作为服务运行

现在可以在 Windows 和 UNIX 机器上将 dm Kernel 和 dm Server 作为服务启动。要在 Windows 上安装服务,需要编辑$HOME/bin/service/conf/wrapper.conf文件,正确列出内核或服务器的路径。然后运行$HOME/bin/service/windows.bat install。还有其他需要运行的命令,dm Server 文档中提到了这些命令。

UNIX 用户更简单,因为$HOME/bin/service目录包含多个init.d兼容的…

dm Admin 控制台演示录屏

工程 | Christopher Frost | 2009 年 10 月 21 日 | ...

这是演示 dm Serverdm Admin 控制台的录屏。它简要介绍了 dm Admin 控制台,然后通过部署一个简单的演示应用程序展示了一些功能。该应用程序由一个配置文件、一个 Web bundle 和一个内容 bundle 组成。部署后,应用程序只是在 Web 浏览器中显示配置文件的内容。出于此演示的目的,应用程序是分部分安装的,实际上您会使用“par”或“plan”将应用程序组合在一起,要了解如何使用“plan”文件进行此操作,另一个录屏是…

tc Server Developer Edition 介绍 - 包含 Spring Insight

工程 | Jon Travis | 2009 年 10 月 21 日 | ...

我们很自豪地向 Spring 社区推出一款新工具,它可以帮助您的应用程序更快地投入生产:tc Server Developer Edition 是您熟悉并喜爱的标准 100% Tomcat,外加一个新的 Spring Insight 控制台。

Spring Insight 可以按请求逐一深入了解应用程序的实际活动。对于任何请求,您都可以看到它执行的所有 JDBC 查询、渲染所需的时间,或者任何主要 Spring bean 的耗时。

当您独立查看特定请求时,这种精细的信息非常宝贵,但它可能…

dm Kernel

工程 | Steve Powell | 2009 年 10 月 19 日 | ...

在里程碑 M5 中,dm Kernel 首次独立提供。您可以从此处获取。

dm Kernel 是什么?

基本上,dm Kernel 包含了 dm Server 的所有优点,除了对 Web 应用程序的支持。因此,没有提供 Web 应用程序(甚至没有 Admin ConsoleSplash),也没有 Tomcat——只有内核。

本质上,dm Kernel 为您提供了 dm Server OSGi 支持的所有优点,包括

  • 作用域
  • 热部署
  • pars
  • bundles
  • plans
  • 配置属性
  • 自动配置
  • 仓库
    • 所有仓库类型:受监控的、外部的远程的
    • 链支持(默认情况下链为空)
  • 易于配置
  • 用户区域
  • 完整的系统和应用程序跟踪以及 dump 支持
  • 哦,当然,还有通常的 Spring bean 和 Spring DM 支持,
但没有 Web 相关的东西。

如果您希望为系统应用程序提供 OSGi 模块化支持,但不想或不需要托管 Web 应用程序,那么 dm Kernel 正是您想要的。

这与随完整 dm Server 一起提供的内核完全相同——没有任何修改或适配。能够独立部署和运行内核再次证明了 dm Server 干净、模块化的设计。

注释

如何在没有 Admin 控制台的情况下管理 dm Kernel?(我几乎能听到您的疑问。)好吧,答案也在 M5 中提供——使用Shell,无论是本地还是远程(通过 ssh)。您可能会认为这是我们计划好的,或者诸如此类。

祝您使用愉快。

dm Shell

工程 | Christopher Frost | 2009 年 10 月 15 日 | ...

dm Server 有一个新的命令行 Shell。它目前与现有的 Equinox Shell 一起提供,并在 2.0 版本中取代它。相对于 Equinox Shell 的改进包括基本的 Tab 键补全和命令历史记录。

dm Shell 可用于本地和通过 ssh 远程访问。当通过 './startup.sh -shell' 选项启动服务器并在本地使用时,一旦 dm Kernel 启动,它将接管控制台输出。控制台输出仍然可以在事件日志中查看。无论哪种方式,首先显示的是一个 ASCII 艺术启动画面,然后是命令提示符 ':> '

区域

工程 | Steve Powell | 2009 年 10 月 13 日 | ...

(更新于 2009 年 10 月 15 日)从里程碑 M5 开始,dm Server 2.0 采用区域来隔离内核与用户应用程序。这意味着内核实现对应用程序和应用程序管理来说几乎完全不可见。

在里程碑 M5 中,还完全移除了对克隆的支持。区域隔离和带有作用域的计划提供了大大地更简单、更易管理的解决方案,以解决克隆本来旨在解决的最常见问题。

在以下两节中,我将概述这些变更以及我们进行这些变更的原因。

关于区域的消息

一个区域就像一个 OSGi 框架——它是应用程序安装、解析和运行的地方。

dm Kernel 创建一个 用户区域来运行应用程序,所有应用程序(包括 dm Server 提供的——Splash、Admin、Web 和 Hosted Repository)都部署到 用户区域

dm Server 2.0.0.M5

工程 | Ben Hale | 2009 年 10 月 12 日 | ...

dm Server 2.0.0.M5 现已发布,可从此处下载。

我们正在接近 2.0.0 发布周期的尾声,因此此里程碑的大部分工作都集中在锁定用户交互模型上。请查阅 M5 发布说明,了解我们一直在努力的完整详情。请继续在我们的博客评论区、论坛JIRA 上提供您的反馈。

另请关注博客,获取关于此“新功能和值得注意之处”中引用的许多新功能的详细文章。

新功能和值得注意之处

部署配置文件

Properties 文件现在可以部署到pickup目录或任何配置的仓库中。这些文件的内容随后可通过 OSGi 的ConfigurationAdmin通过指定文件名为 PID(不包含.properties扩展名)来访问。

Plan 属性

Plans 现在可以包含用于替换的全局定义属性。

<attributes>
	<attribute name="version" value="[1.0.0, 2.0.0)"/>
</attributes>

<artifact type="bundle" name="org.springframework.context.support" version="${version}"/>

Plans 中的制品可以定义属性,这些属性在部署时会转换为 Bundle manifest 头。

<artifact type="bundle" name="my.webapp" version="[1.0.0, 2.0.0)">
	<property name="Web-ContextPath" value="/foo"/>
</artifact>

Admin 控制台

管理控制台的“制品”页面已进行了优化,以树状结构显示用户安装的制品的依赖关系。此外,这些树的每个级别都采用延迟加载,从而提高了加载时间性能。

Admin Console

命令行 Shell

dm Server 现在附带一个命令行 Shell,用于替换之前使用的 Equinox 控制台。使用-shell启动命令可以在本地访问此控制台。

$ bin/startup.sh -shell
<KE0001I> Kernel starting.
<KE0002I> Kernel started.
<SH0001I> dm Kernel ssh shell available on port 2402.

     @@@ ***
    @@@ *****            .__.                  .__.            .__.  .__.
   @@@@ ******         __|  |  _____     _____.|  |__    ___…

订阅 Spring 邮件列表

订阅 Spring 邮件列表,保持联系

订阅

领先一步

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

了解更多

获取支持

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

了解更多

近期活动

查看 Spring 社区所有近期活动。

查看全部