The Spring Blog

工程
发布
新闻与活动

Spring 本周(SpringOne Platform 2019版)-2019年10月8日

在这里,终于在这里!我一年中最喜欢的时间!SpringOne平台周快乐!本周,我在德克萨斯州奥斯汀市令人惊叹的会议上,与任何想要了解Spring一切的人进行交谈。已经有一在本届展会上宣布令人惊奇的事情,但是有一件事我一直很期待与大家分享你们的是,我们刚刚宣布了新的Azure的云春运行。(有关更多信息,请参见下面的链接)

我一直很忙!我正在与Microsoft在Azure Spring Cloud上进行对话,并与Okta / Google在简化开发生命周期上进行对话。另外,我明天早上主持主题演讲。要做的这么多,时间却这么少!

阅读更多...

Spring Data Moore有哪些新功能?

Spring Data Moore附带16个模块,已完成700多张票。它包括整个产品组合中的大量改进和新功能,并且重点关注三个主要主题:Reactive,Kotlin和Performance。该版本增加了诸如声明式反应式事务和协程/流程支持等功能,并提供了高达60% *更快的查找器方法。

让我们从Moore的一些Reactive功能开始。

声明式,被动交易

Lovelace发行版封闭式的方式引入了对响应式交易的早期支持,从而留出了一些改进的空间。以下清单显示了该样式:

Lovelace中的反应式交易(使用MongoDB)
public Mono<Process> doSomething(Long id) {

  return template.inTransaction().execute(txTemplate -> {

    return txTemplate.findById(id)
      .flatMap(it -> start(txTemplate, it))
      .flatMap(it -> verify(it))
      .flatMap(it -> finish(txTemplate, it));

  }).next();
}

在前面的代码段中,必须通过显式调用来启动事务inTransaction()在闭包内使用一个事务感知模板,调用next()最后把返回的Flux变成一个Mono满足方法签名,即使findById(…)已经只发出一个元素。

显然,这不是进行被动交易的最直观的方法。因此,让我们看看使用声明式反应式事务支持的相同流程。与Spring的交易支持一样 ,您需要一个组件来为您处理交易。对于被动交易, ReactiveTransactionManager目前由MongoDB和R2DBC模块提供。以下清单显示了这样的组件:

@EnableTransactionManagement
class Config extends AbstractReactiveMongoConfiguration {

  // …

  @Bean
  ReactiveTransactionManager mgr(ReactiveMongoDatabaseFactory f) {
    return new ReactiveMongoTransactionManager(f);
  }
}

从那里,您可以使用@Transactional并依靠基础架构来启动,提交和回滚事务流,以通过Reactor Context处理生命周期。这使您可以将代码从Lovelace转换为以下清单,从而无需使用范围模板和多余的闭包FluxMono转型:

摩尔中的声明式反应式事务(使用MongoDB)
@Transactional
public Mono<Process> doSomething(Long id) {

  return template.findById(id)
    .flatMap(it -> start(template, it))
    .flatMap(it -> verify(it))
    .flatMap(it -> finish(template, it));
}
阅读更多...

Spring Cloud Hoxton。M3现在可用

我很高兴代表社区宣布, Spring Cloud Hoxton发布列车的里程碑3(M3)现已开始供货。可以在Spring Milestone存储库中找到该版本。您可以查看Hoxton 发行说明以获取更多信息

Hoxton发布系列的重大变化

此里程碑版本与Spring Boot 2.2.0兼容。RC1。

spring-cloud-circuitbreaker

我们欢迎Spring Cloud Circuit Breaker作为Spring Cloud发布培训下的一个新项目。该项目提供了一个抽象API,用于向您的应用程序添加断路器。在撰写本文时,有四种受支持的实现:

阅读更多...

Apache Geode和Pivotal GemFire 1.1.2的Spring Boot。发布和1.2.0。RC1可用

我很高兴代表Spring,Apache Geode,Pivotal GemFire和Pivotal Cloud Cache社区,宣布发布适用于Apache Geode ,Pivotal GemFire和Pivotal Cloud Cache(PCC)的Spring Boot。 1.1.2.RELEASE以及1.2.0.RC1

SBDG 1.1.2.RELEASE建立在Spring Boot之上2.1.9.RELEASEMaven Central中可用。

SBDG 1.2.0.RC1建立在Spring Boot之上2.2.0.RC1可以在Spring Milestone信息库中找到。

此外,SBDG 1.2.0.RC1可以将这些位包含在通过Spring Initializer通过https://start.spring.io生成的项目中。只需在“ 搜索要添加的依赖项 ”输入字段中键入“ Geode ”,您就会看到“ Spring for Apache Geode ”依赖项作为您可以添加的选项出现。这包括spring-geode-starter使用初始化程序生成项目时,项目中的Maven或Gradle构建文件中的依赖关系。看看这个!

阅读更多...

反应堆Dy(3.3.x)进入GA

你好反应堆社区,

我很高兴代表Reactor团队及其英勇的新贡献者宣布,现在可以在您喜欢的Maven仓库中找到Reactor s,就像这样

这是自Reactor Core 3.x以来的第四次发布,其中包括Reactor Core 3.3Reactor Netty 0.9还有一个新来者Reactor Pool 0.1 。查看主要更改日志和发行说明:
- 反应堆核心3.3.0。发布
- 反应堆净值0.9.0。发布
- 反应堆0.1.0。发布

Reactor s模块仍需要JDK 8或更高版本。它们带来了许多性能改进,我们甚至确定了更多的领域来关注下一个补丁和主要版本。请和我一起热烈欢迎这个家庭的新模块Reactor Pool。它是您正在等待的通用可嵌入反应对象池。它由Reactor Netty使用,我们计划在其之上构建更多功能。与Reactor Netty一样,我们尚未对主要的“ 1.x”版本进行鉴定,因为我们期望在考虑API稳定之前进行调整。

阅读更多...

反应釜Calibrium-SR12缺货

加州的第12个服务版本已发布。按照传统,它解决了几个问题并带来了全面的改进。

该版本在您首选的Maven中央存储库中可用。

更改日志和发行说明:
- 反应堆堆芯3.2.12。发布
- 反应堆净值0.8.12。发布

铋锭

Dysprosium-RELEASE ,我们的反应堆芯3.1.x反应堆网形0.7.x线将不会再收到补丁。我们鼓励用户更新到Californium发布与Spring Boot 2.1.xSpring Framework 5.1.x匹配的火车。

阅读更多...

Spring Boot 2.2.0 RC1已发布!

我很高兴代表团队和所有贡献者,从我们的里程碑存储库中获得Spring Boot 2.2.0的候选发布版本 。此版本包含130个问题和请求请求

有关更改和升级说明的完整列表,请参阅Wiki上的《 Spring Boot 2.2发行说明 》和更新的参考文档

我们计划在10月中旬使Spring Boot 2.2普遍可用。现在是试用Spring Boot 2.2并提供反馈的好时机,以便我们可以尝试在GA之前修复问题。如果要开始使用2.2并尝试新功能,可以在https://start.spring.io上引导新项目。

阅读更多...

RabbitMQ的Spring(Spring AMQP)2.2现已可用

我们很高兴地宣布以下维护版本现已可用。

鼓励所有用户升级到这些版本

2.2.0版本是该项目最新版本的第一个版本。

新增内容一章以获取更多信息,但其中有一些重点内容:

  • 千分尺Timer现在支持监视监听器性能。

  • @RabbitListener现在可以在中接收一批消息List ,可以在生产者端创建批次,也可以在SimpleMessageListenerContainer可以根据传入的离散消息创建一批。

  • Spring Data Projection接口现在支持@RabbitListener有效载荷。

  • 现在提供了一个选项,可以将Addresses在连接之前,而不是总是按顺序尝试地址。

阅读更多...

Apache Kafka 2.3的Spring现在可用

我们很高兴地宣布以下版本现已可用。

鼓励所有用户升级到这些版本

2.3.0版本是该项目最新版本的第一个版本。

有关更多信息,请参阅“ 新增功能”一章,但其中有一些重点:

生产中

  • 选择在每个线程中使用生产者,以避免在刷新时阻塞其他线程。

  • AggregatingReplyingKafkaTemplate扩展到ReplyingKafkaTemplate提供以汇总来自多个消费者的答复。

阅读更多...