⚡️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)
