smallrye mutiny

JAVA源码 2025-08-18

⚡️Mutiny,一个直观的事件驱动的反应性编程库,用于Java

Mutiny是Java的现代反应性编程库。

Mutiny提供了一种简单但功能强大的异步开发模型,以构建反应性应用。

该项目由红帽赞助。

概述

兵变可用于显示异步的任何Java应用。

从反应性微服务,数据流,事件处理到API网关和网络实用程序,Mutiny非常合适。

事件驱动

Mutiny将事件置于其设计的核心。借助Mutiny,您可以观察到事件,对它们做出反应,并创建优雅而可读的处理管道。

不需要功能编程中的博士学位。

可导航

即使完成智能代码,具有数百种方法的类也令人困惑。

Mutiny提供了可导航和明确的API,将您带到所需的操作员。

非阻滞I/O。

兵变是驯服非阻滞I/O的应用异步性质的理想伴侣。

声明地构成操作,转换数据,执行进度,从失败中恢复等等。

Quarkus和Vert.x本机

Mutiny集成在Quarkus中,在Quarkus中,每个反应性API都使用Mutiny,Eclipse Vert.x客户端使用Mutiny Bindings提供。

但是,兵变是一个独立的库,最终可以在任何Java应用中使用。

反应性转换器内置

Mutiny基于反应流协议,因此可以与任何其他反应性编程库集成。

此外,Mutiny还提供转换器与其他流行的库和Kotlin互动。

?叛变研讨会示例

您可以从文档和网站中了解叛变。

该存储库还包含叛变研讨会示例,这些示例通过独立可执行的Jbang脚本涵盖了共同的关注。

?构建说明

Mutiny是用Apache Maven构建的,因此您需要的只是:

./mvnw install

如果您想在不运行测试或生成API文档的情况下运行快速构建,请运行:

./mvnw -Dquickly
git分支版本基线遵守
main 2.XY (在开发中) Java 17, java.util.concurrent.Flow反应流TCK 1.0.4
2.5.x 2.5.y (Backports,错误修复) Java 11, java.util.concurrent.Flow反应流TCK 1.0.4
1.x 1.xy (日落,稀有错误修复) Java 8,反应流1.0.4反应流TCK 1.0.4

贡献

请参阅贡献指南

Mutiny是一个开放的项目,感觉很自由:

  • 报告问题,并
  • 提出通过拉力要求提出的增强功能。

讨论和支持

有关与Quarkus使用Mutiny有关的任何内容,请参考Quarkus支持

有关叛变的更一般性讨论,您可以:

  • 在GitHub讨论(首选选项)或
  • 在Stackoverflow上使用mutiny标签。

?出版物

Julien Ponge,Arthur Navarro,ClémentEscoffier和FrédéricLeMouël。 2021。分析Java中反应性编程库的性能和成本。在第八届ACM Sigplan国际国际研讨会上,2021年10月18日,美国伊利诺伊州芝加哥,基于事件的语言和系统(REBLS '21) 。 ACM,纽约,纽约,美国,10页。 (PDF)

随着时间的流逝,观星者

下载源码

通过命令行克隆项目:

git clone https://github.com/smallrye/smallrye-mutiny.git