增加一个restClientBuilderCustomizer的bean

    @Bean
    public RestClientBuilderCustomizer autoRecreateRestClientBuilder() {
        return new RestClientBuilderCustomizer() {
            @Override
            public void customize(HttpAsyncClientBuilder httpClientBuilder) {
                try {
                    DefaultConnectingIOReactor ioReactor = new DefaultConnectingIOReactor();
                    ioReactor.setExceptionHandler(new IOReactorExceptionHandler() {

                        private final Logger log = LoggerFactory.getLogger(this.getClass());

                        @Override
                        public boolean handle(IOException e) {
                            log.error("esRestClient ioException", e);
                            return false;
                        }

                        @Override
                        public boolean handle(RuntimeException e) {
                            log.error("esRestClient runtimeException", e);
                            return false;
                        }
                    });
                    httpClientBuilder.setConnectionManager(
                            new PoolingNHttpClientConnectionManager(ioReactor));
                } catch (IOReactorException e) {
                    throw new RuntimeException(e);
                }
            }

            @Override
            public void customize(RestClientBuilder restClientBuilder) {

            }
        };
    }

参考

https://www.shuzhiduo.com/A/kPzONDQadx/

Logo

北京人形旗下天工造物具身智能开源社区,聚焦具身天工与慧思开物两大平台

更多推荐