Add a configuration property for reactor-netty server's idleTimeout.

Property name: server.netty.idle-timeout Property type: Duration Default value: not configured (infinite)

Reactor-netty added an idleTimeout configuration property in https://github.com/reactor/reactor-netty/pull/1377.

Currently, this can be set programmatically like this:

@Bean
WebServerFactoryCustomizer<NettyReactiveWebServerFactory> nettyServerCustomizer() {
   return factory -> factory.addServerCustomizers(httpServer -> httpServer.idleTimeout(Duration.ofSeconds(20)));
}

Netty server's default idle timeout is infinite. Spring-boot can keep the same default.

We have to set this value in all of our apps due to network "stuff" killing idle connections non-gracefully (sigh). Therefore occasionally clients don't notice terminated connections in their connection pool, and attempt to reuse it, and receive response timeouts. We've noticed that when we add the server-side idleTimeout, the clients can detect the closed connections, and don't try to reuse them. Clients can also reduce their idleTimeout to fix this problem, but the server-side fix helps in general.

Having a configuration property would be really nice so we can avoid the programmatic config!

Comment From: mbhave

Closing in favor of PR #27371.