Spring的版本迭代很快,去年还是5.0,今年已经升级到5.1了。
别看只是小版本的升级,有些地方已经不兼容了。
比如,5.0时代,可以这样定制ConfigurableReactiveWebServerFactory:
@Bean
ConfigurableReactiveWebServerFactory webServerFactory() {
NettyReactiveWebServerFactory factory = new NettyReactiveWebServerFactory();
NettyServerCustomizer customizer = options ->
options.eventLoopGroup(new NioEventLoopGroup(1)).option(CONNECT_TIMEOUT_MILLIS, 5000)
.afterNettyContextInit(context -> {
HttpServerRequest request = (HttpServerRequest) context;
if (URL_MQTT.equals(request.uri())) {
context.addHandlerFirst(IDLE_STATE_HANDLER,
new IdleStateHandler(5, 0, 0));
context.addHandlerLast("idleEventHandler", new IdleTimeoutHandler());
context.addHandlerLast("ws2bytebufDecoder", new WebSocketFrameToBy