solon-web-rx
此插件,由社区成员(阿楠同学)协助贡献
<dependency>
<groupId>org.noear</groupId>
<artifactId>solon-web-rx</artifactId>
</dependency>
1、描述
基础扩展插件,为 Solon Web 开发,添加响应式接口 (io.projectreactor) 、或异步支持。使用时,可引入外部的响应式能力框架(比如 VertX 的一些包)。支持 ndjson
因为使用的是“io.projectreactor:reactor-core” 的接口,所以 io.projectreactor 的相关组件,比如:
- io.projectreactor.rabbitmq:reactor-rabbitmq
- io.projectreactor.kafka:reactor-kafka
- 等等...
以及基于 io.projectreactor 接口构建的组件,都方便使用。其它响应式接口,比如 vert.x 的组件,简单转换后也可使用。
2、代码应用
@Controller
public class DemoController {
@Mapping("/test1")
public Mono<String> test1(String name) {
return Mono.just("Hello " + name);
}
@Mapping("/test2")
public Mono test2() {
return Mono.create(call -> {
throw new IllegalStateException("test");
});
}
@Mapping("/test3")
public Mono<Void> test3() {
return Mono.empty();
}
@Mapping("/hello4")
public Mono<String> hello4(String name) {
return Mono.fromSupplier(() -> {
return "Hello " + name;
});
}
}
提醒:使用响应式处理的函数,可能会让一些注解失效。比如:事务、缓存注解等。