如何在Spring Webflux / WebClient中设置事件循环池大小?

在Vert.X这样的 框架中,我们可以设置事件循环线程的数量,例如:

final VertxOptions vertxOptions = new VertxOptions();

vertxOptions.setEventLoopPoolSize(16);

final Vertx myVertx = Vertx.vertx(vertxOptions);

Spring Boot 2 WebFlux / WebClient中的等效方法

回答:

您有两种选择:

  1. ReactiveWebServerFactory用应用事件循环资源配置的定制程序覆盖bean:

@Bean

public ReactiveWebServerFactory reactiveWebServerFactory() {

NettyReactiveWebServerFactory factory = new NettyReactiveWebServerFactory();

factory.addServerCustomizers(builder -> builder.loopResources(LoopResources.create("my-http", 16, true)));

return factory;

}

  1. 或使用-Dreactor.ipc.netty.workerCount=16环境变量。默认情况下,其值设置为Math.max(availableProcessors(), 4)。例:java -jar your-app.jar -Dreactor.ipc.netty.workerCount=16

以上是 如何在Spring Webflux / WebClient中设置事件循环池大小? 的全部内容, 来源链接: utcz.com/qa/421400.html

回到顶部