Как настроить Netty с помощью Spring Boot 2.1 Webflux?JAVA

Программисты JAVA общаются здесь
Ответить
Anonymous
 Как настроить Netty с помощью Spring Boot 2.1 Webflux?

Сообщение Anonymous »

Я хотел бы настроить Netty в своем проекте Spring Boot Webflux. В свой POM я добавил зависимости Spring Boot Webflux и Spring Boot Actuator. Затем я перезаписал метод Customize() WebServerFactoryCustomizer, как описано в документации Spring.

Код: Выделить всё

@Component
public class NettyConfiguration implements WebServerFactoryCustomizer {

@Override
public void customize(NettyReactiveWebServerFactory factory) {
factory.addServerCustomizers(new NettyCustomizer());
}
}
Затем я реализовал загрузку Netty в своем NettyCustomizer:

Код: Выделить всё

public class NettyCustomizer implements NettyServerCustomizer {

private final EventLoopGroup bossGroup = new NioEventLoopGroup(22);
private final EventLoopGroup workerGroup = new NioEventLoopGroup();

@Override
public HttpServer apply(HttpServer httpServer) {
return httpServer.tcpConfiguration(tcpServer ->
tcpServer.bootstrap(serverBootstrap ->
serverBootstrap
.group(bossGroup, workerGroup)
.channel(NioServerSocketChannel.class)
.handler(new LoggingHandler(LogLevel.DEBUG))
.childHandler(new ChannelInitializer() {
@Override
public void initChannel(final SocketChannel socketChannel) {
socketChannel.pipeline().addLast(new BufferingInboundHandler());
}
})
.option(ChannelOption.SO_BACKLOG, 128)
.childOption(ChannelOption.SO_KEEPALIVE, true))
.port(8899)
);
}
}
Теперь, если я запускаю приложение Spring Boot, я получаю сообщение об ошибке «Невозможно запустить Netty».

Код: Выделить всё

org.springframework.boot.web.server.WebServerException: Unable to start Netty
Caused by: java.lang.IllegalStateException: group set already
Похоже, что нет способа переопределить загрузку Netty при использовании Webflux. К сожалению, изменение метода addServerCustomizers() на setServerCustomizers() в методе customize() приводит к тем же исключениям. Кто-нибудь знает, как настроить Netty вместе с Spring Boot?

Подробнее здесь: https://stackoverflow.com/questions/539 ... -1-webflux
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «JAVA»