Young Kbt blog Young Kbt blog
首页
  • java基础

    • Java基础
    • Java集合
    • Java反射
    • JavaJUC
    • JavaJVM
  • Java容器

    • JavaWeb
  • Java版本新特性

    • Java新特性
  • SQL 数据库

    • MySQL
    • Oracle
  • NoSQL 数据库

    • Redis
    • ElasticSearch
  • 数据库

    • MyBatis
    • MyBatis-Plus
  • 消息中间件

    • ActiveMQ
    • RabbitMQ
    • RocketMQ
    • Kafka
  • 进阶服务

    • Nginx
  • Spring
  • Spring Boot
  • Spring Security
  • 设计模式
  • 算法
  • 知识
  • 管理

    • Maven
    • Git
  • 部署

    • Linux
    • Docker
    • Jenkins
    • Kubernetes
  • 进阶

    • TypeScript
  • 框架

    • React
    • Vue2
    • Vue3
  • 轮子工具
  • 项目工程
  • 友情链接
  • 本站

    • 分类
    • 标签
    • 归档
  • 我的

    • 收藏
    • 关于
    • Vue2-Admin (opens new window)
    • Vue3-Admin(完善) (opens new window)
GitHub (opens new window)

Shp Liu

朝圣的使徒,正在走向编程的至高殿堂!
首页
  • java基础

    • Java基础
    • Java集合
    • Java反射
    • JavaJUC
    • JavaJVM
  • Java容器

    • JavaWeb
  • Java版本新特性

    • Java新特性
  • SQL 数据库

    • MySQL
    • Oracle
  • NoSQL 数据库

    • Redis
    • ElasticSearch
  • 数据库

    • MyBatis
    • MyBatis-Plus
  • 消息中间件

    • ActiveMQ
    • RabbitMQ
    • RocketMQ
    • Kafka
  • 进阶服务

    • Nginx
  • Spring
  • Spring Boot
  • Spring Security
  • 设计模式
  • 算法
  • 知识
  • 管理

    • Maven
    • Git
  • 部署

    • Linux
    • Docker
    • Jenkins
    • Kubernetes
  • 进阶

    • TypeScript
  • 框架

    • React
    • Vue2
    • Vue3
  • 轮子工具
  • 项目工程
  • 友情链接
  • 本站

    • 分类
    • 标签
    • 归档
  • 我的

    • 收藏
    • 关于
    • Vue2-Admin (opens new window)
    • Vue3-Admin(完善) (opens new window)
GitHub (opens new window)
  • MyBatis

  • MyBatis-Plus

  • 中间件 - ActiveMQ

  • 中间件 - RabbitMQ

  • 中间件 - RocketMQ

  • 中间件 - Kafka

  • 高性能服务器 - Nginx

  • 响应式框架 - Reactor

    • Reactor - 快速上手
    • Reactor - 响应式编程
    • Reactor - 核心特征
    • Reactor - 对 Kotlin 的支持
    • Reactor - 单元测试
    • Reactor - 调试 Reactor
    • Reactor - 高级特性与概念
    • Reactor - 操作符总结
    • Reactor - 最佳实践
    • Reactor - 扩展性
      • 说明
      • TupleUtils 以及函数式接口
      • MathFlux 的数学操作符
      • 重复与重试工具
      • 调度器
  • 框架
  • 响应式框架 - Reactor
Young Kbt
2024-11-02
目录

Reactor - 扩展性

  • 说明
  • TupleUtils 以及函数式接口
  • MathFlux 的数学操作符
  • 重复与重试工具
  • 调度器

# 说明

reactor-extra 为满足 reactor-core 用户的更高级需求,提供了一些额外的操作符和工具。

由于这是一个单独的包,使用时需要明确它的依赖:

dependencies {
     compile 'io.projectreactor:reactor-core'
     compile 'io.projectreactor.addons:reactor-extra' // 1
}
1
2
3
4
  1. 添加 reactor-extra 的依赖。参考 获取 Reactor 了解为什么使用BOM的情况下不需要指定 version。

# TupleUtils 以及函数式接口

在 Java 8 提供的函数式接口基础上,reactor.function 包又提供了一些支持 3 到 8 个值的 Function、Predicate 和 Consumer。

TupleUtils 提供的静态方法可以方便地用于将相应的 Tuple 函数式接口的 lambda 转换为更简单的接口。

这使得我们在使用 Tuple 中各成员的时候更加容易,比如:

.map(tuple -> {
  String firstName = tuple.getT1();
  String lastName = tuple.getT2();
  String address = tuple.getT3();

  return new Customer(firstName, lastName, address);
});
1
2
3
4
5
6
7

可以用下面的方式代替:

.map(TupleUtils.function(Customer::new)); 
1

因为 Customer 的构造方法符合 Consumer3 的函数式接口标签。

# MathFlux 的数学操作符

reactor.math 包的 MathFlux 提供了一些用于数学计算的操作符,如 max、min、sumInt、averageDouble…

# 重复与重试工具

reactor.retry 包中有一些能够帮助实现 Flux#repeatWhen 和 Flux#retryWhen 的工具。入口点(entry points)就是 Repeat 和 Retry 接口的工厂方法。

两个接口都可用作可变的构建器(mutative builder),并且相应的实现(implementing) 都可作为 Function 用于对应的操作符。

# 调度器

Reactor-extra 提供了若干专用的调度器: - ForkJoinPoolScheduler,位于 reactor.scheduler.forkjoin 包; - SwingScheduler,位于 reactor.swing 包; - SwtScheduler,位于 reactor.swing 包。

编辑此页 (opens new window)
#Reactor
更新时间: 2024/11/02, 09:43:06
Reactor - 最佳实践

← Reactor - 最佳实践

最近更新
01
技术随笔 - Element Plus 修改包名 原创
11-02
02
Reactor - 最佳实践
11-02
03
Reactor - 操作符总结
11-02
更多文章>
Theme by Vdoing | Copyright © 2021-2024 Young Kbt | blog
桂ICP备2021009994号
  • 跟随系统
  • 浅色模式
  • 深色模式
  • 阅读模式