Arjen Poutsma 的博客文章和Josh Long 的视频示例中的Netty 服务器实例化是通过创建一个reactor.ipc.netty.http.HttpServer
实例然后以实例作为参数调用它start
或startAndAwait
方法来完成的。ReactorHttpHandlerAdapter
然而,API 似乎现在已经发生了变化start
,startAndAwait
方法现在需要一个具有以下签名的 lambda:
java.util.function.Function<? super reactor.ipc.netty.http.HttpChannel,? extends org.reactivestreams.Publisher<java.lang.Void>>
项目依赖项及其版本与 Arjen Poutsma 的示例项目中的相同
<dependency>
<groupId>org.reactivestreams</groupId>
<artifactId>reactive-streams</artifactId>
<version>1.0.0</version>
</dependency>
<dependency>
<groupId>io.projectreactor</groupId>
<artifactId>reactor-core</artifactId>
<version>3.0.3.RELEASE</version>
</dependency>
<dependency>
<groupId>io.projectreactor.ipc</groupId>
<artifactId>reactor-netty</artifactId>
<version>0.5.2.RELEASE</version>
</dependency>
<dependency>
<groupId>org.apache.tomcat.embed</groupId>
<artifactId>tomcat-embed-core</artifactId>
<version>8.5.4</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-web-reactive</artifactId>
<version>5.0.0.BUILD-SNAPSHOT</version>
</dependency>
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-databind</artifactId>
<version>2.8.2</version>
</dependency>
使用 spring reactor 支持实例化 netty 服务器的新/正确方法是什么?