介绍 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。 其结果是,您可以创建和开发 Spring 或 Grails 应用程序,并在云中运行它们,而无需离开您喜欢的 IDE 或命令行界面。 这些工具利用 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 作为服务运行

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

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

dm 管理控制台演示屏幕录制

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

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

介绍 tc Server 开发版 - 附带 Spring Insight

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

我们很荣幸向 Spring 社区推出一种新工具,可以帮助他们更快地将应用程序投入生产:tc Server 开发版 是您所熟知和喜爱的标准 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 应用程序(甚至没有 管理控制台启动画面),也没有 Tomcat —只有内核。

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

  • 范围
  • 热部署
  • par
  • 捆绑包
  • 计划
  • 配置属性
  • 自动配置
  • 存储库
    • 所有存储库类型:监视、外部远程
    • 链支持(链默认情况下为空)
  • 易于配置
  • 用户区域
  • 完整的系统和应用程序跟踪和转储支持
  • 哦,当然,还有 Spring Bean 和 Spring DM 支持,一如既往,
但没有 Web 内容。

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

这与随完整 dm Server 一起提供的内核完全相同 —没有修改或调整。能够单独部署和运行内核是 dm Server 简洁、模块化设计的又一次证明。

细则

如何不使用管理控制台来管理 dm 内核?(我几乎能听到你在问。)答案也在 M5 中提供——使用Shell,无论是本地还是远程(通过 ssh)。你会以为我们计划过这个,或者类似的东西。

享受。

dm Shell

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

dm 服务器有一个新的命令行 shell。它目前与现有的 Equinox shell 一起提供,并将替换 2.0 版本中的 Equinox shell。与 Equinox shell 相比,改进包括基本的 tab 自动补全和命令历史记录。

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

区域

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

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

同样在里程碑 M5 中,完全删除了对克隆的支持。区域隔离和它们之间的作用域计划为克隆旨在解决的最常见问题提供了简单和更易于管理的解决方案。

在接下来的两节中,我将概述这些更改以及我们做出这些更改的原因。

区域新闻

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

dm 内核创建一个单个用户区域来运行应用程序,并且所有应用程序(包括 dm 服务器提供的应用程序——Splash、Admin、Web 和托管存储库)都部署到用户区域

dm Server 2.0.0.M5

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

dm Server 2.0.0.M5 现已可用,您可以从这里下载。

我们正接近 2.0.0 版本周期的结束,因此此里程碑中的大部分工作都集中在锁定用户交互模型上。查看M5发行说明,了解我们一直在处理的全部详细信息。请继续提供您的反馈,作为我们博客上的评论,在论坛上以及在JIRA上。

请关注此博客,了解有关此“新增功能”中引用的许多新功能的详细文章。

新增功能

部署配置文件

属性文件现在可以部署在pickup目录或任何已配置的存储库中。然后,这些文件的内容可在 OSGi 的ConfigurationAdmin中访问,PID 指定为文件名,不带.properties扩展名。

计划属性和特性

计划现在可以具有用于替换的全局定义的属性。

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

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

计划中的工件可以定义属性,这些属性在部署时转换为 Bundle 清单头。

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

管理控制台

管理控制台的“工件”页面已进行了改进,以将用户安装的工件的依赖项呈现为树状结构。此外,这些树的每一层都是延迟加载的,从而提高了加载时间性能。

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 集成到 Blueprint 中

工程 | Costin Leau | 2009 年 10 月 8 日 | ...

上个月,在最初的 4.0 版本发布近 4 年后,OSGi 联盟正式批准了 OSGi 服务平台 4.2 版本的发行。公告标题以Blueprint Container服务为特色,这是 Compendium 规范中的一项新增功能,基于 Spring Dynamic Modules(也称为 Spring OSGi)项目推广的编程模型。为了快速概括 Blueprint,我将直接引用 OSGi规范

(Blueprint Container)[...] 定义了一个依赖注入框架,专门用于 OSGi 捆绑包,该框架了解服务的独特动态特性。它提供了一个 OSGi 捆绑包编程模型,具有最少的实现依赖性和几乎没有 Java 代码中的意外复杂性。

熟悉IoC概念或 Spring 和 Spring DM 配置的用户会发现 Blueprint 规范易于理解。事实上,由于它源自 Spring DM,因此许多…

获取 Spring 新闻通讯

与 Spring 新闻通讯保持联系

订阅

领先一步

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

了解更多

获得支持

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

了解更多

即将举行的活动

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

查看全部