Spring Batch 3.0.0.RC1 现已发布
今天,我们很高兴地宣布 Spring Batch 3.0 的发布候选版本。此版本的 Spring Batch 提供了我们承诺支持的 JSR-352,以及为我们现有的 Spring Batch 社区提供的一系列新功能。
发布候选版本 1 的功能
此版本的主要功能包括
- JSR-352 支持
- 将 Spring Batch Integration 合并到 Spring Batch 中
- 彻底重构依赖项
- 支持 SQLite
- Job 作用域
- 将构建 Spring Batch 的工具从 Maven 切换到 Gradle
JSR-352 支持
JSR-352 是批处理 JSR,已于去年年底发布 1.0 版本。由于 Spring Batch 是该 JSR 编程模型的灵感来源,Spring 致力于支持它。通过 3.0 版本,Spring Batch 符合 JSR-352 标准,并通过了所有 TCK 测试。它提供了生产环境中测试最充分的 JSR 实现。
创建符合此 JSR 标准的批处理作业,对于 Spring Batch 用户来说应该非常熟悉。XML 配置和接口与现有的 Spring Batch 非常相似。以下是一个 JSR-352 批处理作业的示例
```xmlSpring Batch 对 JSR-352 的实现旨在为现有 Spring Batch 用户提供最大的灵活性。我们允许开发人员使用现有的 ItemReader、ItemProcessor、ItemWriters 等,并结合 JSR-352 提供的配置功能。这为开发人员提供了完整的生产环境中测试过的组件库,用于构建健壮的批处理作业。
要阅读更多关于 Spring Batch 对 JSR-352 的实现的信息,请访问我们的参考文档:https://docs.springframework.org.cn/spring-batch/trunk/reference/html/jsr-352.html
将 Spring Batch Integration 提升到 Spring Batch 名下
Spring Batch 和 Spring Integration 之间的界限往往很模糊。有许多用例一个比另一个更适合。然而,也有许多用例可以一起使用来构建健壮且可扩展的数据处理系统。Spring Batch Integration 提供了一系列组件,用于将 Spring Batch 和 Spring Integration 一起使用。Spring Batch Integration 提供的用例包括
- 异步项处理
- 远程分块
- 通过消息启动批处理作业
- 远程分区
这些功能将批处理提升到 JSR-352 所能提供的范围之外,并允许用户开发可扩展到单个 JVM 之外的批处理应用程序。您可以在参考文档中阅读更多关于 Spring Batch Integration 及其组件的信息:https://docs.springframework.org.cn/spring-batch/trunk/reference/html/springBatchIntegration.html。
彻底重构依赖项
我们借此机会审查了 Spring Batch 的所有第三方依赖项,并将其更新到最新版本。作为此项工作的一部分,我们还将其与其他 Spring 项目保持一致,以便在将 Spring Batch 添加到现有应用程序(或将其他项目添加到 Spring Batch 项目)时获得最简单的体验。
支持 SQLite
虽然 HSQLDB 在许多测试场景中很有用,但像 SQLite 这样的文件系统也可以非常有用。通过 3.0 版本,我们增加了 SQLite 的作业仓库 DDL,以满足这些用例。
Job 作用域
Spring Batch 的 step 作用域允许开发人员延迟对象的创建,直到执行特定的步骤。此功能还暴露了为批处理伪指令提供后期绑定的能力。通过此 3.0 版本,Spring Batch 引入了 Job 作用域。此作用域的工作方式与 step 作用域相同(通过代理延迟对象的创建),但是它会将创建延迟到作业执行时,而不是步骤执行时。当在一个上下文中定义多个作业时,或者当在步骤级组件中发生重量级初始化过程时,这可能会很有帮助。您可以在参考手册中阅读更多关于 Job 作用域的信息:https://docs.springframework.org.cn/spring-batch/trunk/reference/html/configureStep.html#job-scope。
从 Maven 迁移到 Gradle
最后,这是 Spring Batch 首次将其内部构建系统从 Maven 迁移到 Gradle。此更改对消费 jar 的开发人员没有任何影响。Maven 用户仍然可以通过 Maven Central 获得它们。
结论
3.0.0.RC1 代表了 Spring Batch 下一个主要里程碑的完成。它为我们的社区带来了 JSR-352 提供的标准,并为高级用户提供了全面的附加功能集合。我们期待在论坛、社交媒体以及在 SpringOne2GX 上与您见面交流!
Spring Integration Java DSL 里程碑 1 发布
Spring Integration 开发团队很高兴地宣布推出 Spring Integration 的 Java DSL 扩展的第一个里程碑版本!
Java DSL 的总体目标是提供一个基于 EIP 的、流畅便捷的 消息流 API,以避免 Spring Integration 配置中的样板代码。
org.springframework.integration:spring-integration-java-dsl:1.0.0.M1 构件可在 Spring IO 里程碑仓库 中获取。
您可以在 参考手册 和 源代码 中找到更多信息,但让我们先介绍一些主要功能。
概念
Spring Integration Java DSL 与现有的 Scala 和 Groovy DSL 不同;它也与 Apache Camel Java DSL 不同,尽管它确实实现了方法链……
Groovy 2.3 发布
Groovy 开发团队很高兴地宣布 Groovy 2.3.0 发布!
Groovy 2.3 是 Groovy 编程语言针对 JVM 的新主要版本,具有以下特性:
- 官方支持在 JDK 8 上运行 Groovy
- 新的 trait 关键字,用于定义新的代码单元以组合行为
- 新增和改进的编译时代码转换,例如:
- 新的 NIO2 模块,支持 Path
- 极速 JSON 解析和构建,如 InfoQ 上的最新文章所述
- 闭包参数类型推断…
Reactor 1.1.0.RELEASE 现已发布
Reactor 团队很高兴地宣布,Reactor 灵活、异步、快速数据框架的 1.1.0.RELEASE 版本现已推出了一些重要更新。此版本包含了大量的 bug 修复和关键组件的重写,以使其更快,也许更重要的是,在内存使用方面更高效。Reactor 1.1 现在包含了高盛 [1] 出色的 gs-collections 库,它为处理各种映射和集合提供了非常流畅的 API。
以下是 Reactor 1.0 和 1 之间更改的非详尽列表...
Spring for Apache Hadoop 2.0 RC3 发布
我们很高兴地宣布 Spring for Apache Hadoop 2.0 RC3 版本已发布。
现在支持最新的 Hadoop 发行版 - Pivotal HD 2.0、Cloudera CDH5 和 Hortonworks HDP 2.1
除了版本升级外,此版本中的更改主要围绕用于写入数据集的分区支持 SHDP-327。
Spring for Apache Hadoop 2.0 的主要重点是添加 YARN 应用程序开发支持,以及继续改进 HDFS 和 MapReduce 支持。您可以在 YARN 示例和新的 Spring IO 指南中看到许多新的 YARN 功能的实际应用……
Spring Data 发布周期 Dijkstra RC1 发布
我很高兴地宣布下一个 Spring Data 发布周期 Dijkstra 的第一个发布候选版本。参与模块的完整列表如下:
- Spring Data Commons 1.8 RC1 - 工件 - JavaDocs - 文档 - 变更日志
- Spring Data JPA 1.6 RC1 - 工件 - JavaDocs - 文档 - 变更日志
- Spring Data MongoDB 1.5 RC1 - 工件 - JavaDocs - 文档 - 变更日志
- Spring Data Neo4j 3.1 RC1 - 工件 - JavaDocs - 文档 - 变更日志
- Spring Data Solr 1.2 RC1 - 工件 - JavaDocs - 文档 - 变更日志
- Spring Data Couchbase 1.1 RC1 - 工件 - JavaDocs - 文档 - 变更日志
- Spring Data Cassandra 1.0 RC1 - 工件 - JavaDocs - 文档 - 变更日志
- Spring Data Elasticsearch 1.0 RC1 - 工件 - JavaDocs - 文档 - …
Spring Framework 4.0.4 发布
亲爱的 Spring 社区:
我很高兴地宣布 Spring Framework 4.0.4 现已发布。这是 4.0.3 之后的简单维护版本,主要修复了回归和其他近期错误。它还附带了一系列次要依赖更新(包括 ASM 5.0.2)。
http://projects.spring.io/spring-framework/
除了致力于 7 月份的 4.1 版本外,我们还计划在 5 月下旬发布 4.0.5 和 3.2.9 成对版本。后者是各自产品线的最后计划发布版本。所以,如果您仍有任何关键的错误报告需要考虑这些分支……
Spring Boot 1.0.2.RELEASE 现已发布
Spring Boot 1.0.2.RELEASE 现已在 Spring 和 Maven Central 仓库中提供。这主要是一个错误修复版本(没有重大更改,但如果您使用的是旧版本,请升级)。还有一些不错的新功能。
我最喜欢的新增功能是新的 @IntegrationTest 功能。这是一个示例
@RunWith(SpringJUnit4ClassRunner.class)
@SpringApplicationConfiguration(classes = SampleActuatorApplication.class)
@WebAppConfiguration
@IntegrationTest("server.port=0")
public class SampleActuatorApplicationTests {
@Value("${local.server.port}")
private int port…Spring Social 1.1.0 发布
亲爱的Spring社区,
我非常高兴地宣布 Spring Social 1.1.0 正式发布。随着核心 Spring Social 项目的发布,Spring Social Facebook 1.1.0、Spring Social Twitter 1.1.0 和 Spring Social LinkedIn 1.0.0 也已发布。
这些版本包含几项新功能,包括
- 简化的 Java 和 XML 配置支持
- 一个新的 ReconnectFilter,可在令牌过期或被吊销时自动重新建立连接
- 更新了 Facebook、Twitter 和 LinkedIn 的 API 绑定
- 一个通用的连接工厂,用于尚不支持(或尚未支持)连接框架的 API
- 更紧密的 Spring Security 集成,包括用于提供商驱动的登录的 SocialAuthenticationFilter
- Thymeleaf 模板支持
- 更新的文档
- ……等等…… …