@Override
    public NacosAsyncRestTemplate createNacosAsyncRestTemplate() {
        final HttpClientConfig originalRequestConfig = buildHttpClientConfig();
        final DefaultConnectingIOReactor ioreactor = getIoReactor(ASYNC_IO_REACTOR_NAME);
        final RequestConfig defaultConfig = getRequestConfig();
        final NHttpClientConnectionManager connectionManager = getConnectionManager(originalRequestConfig, ioreactor);
        monitorAndExtension(connectionManager);
        return new NacosAsyncRestTemplate(assignLogger(), new DefaultAsyncHttpClientRequest(
                HttpAsyncClients.custom().addInterceptorLast(new RequestContent(true))
                        .setThreadFactory(new NameThreadFactory(ASYNC_THREAD_NAME))
                        .setDefaultIOReactorConfig(getIoReactorConfig()).setDefaultRequestConfig(defaultConfig)
                        .setMaxConnTotal(originalRequestConfig.getMaxConnTotal())
                        .setMaxConnPerRoute(originalRequestConfig.getMaxConnPerRoute())
                        .setUserAgent(originalRequestConfig.getUserAgent())
                        .setConnectionManager(connectionManager).build(),
                ioreactor, defaultConfig));
    }
@Test
    void testCreateNacosAsyncRestTemplate() {
        HttpClientFactory httpClientFactory = new AbstractHttpClientFactory() {
            @Override
            protected HttpClientConfig buildHttpClientConfig() {
                return HttpClientConfig.builder().setMaxConnTotal(10).setMaxConnPerRoute(10).build();
            }
            
            @Override
            protected Logger assignLogger() {
                return logger;
            }
        };
        NacosAsyncRestTemplate nacosRestTemplate = httpClientFactory.createNacosAsyncRestTemplate();
        assertNotNull(nacosRestTemplate);
    }