diff --git a/rest-proxy-core/src/main/java/group/flyfish/rest/core/factory/DefaultHttpClientProvider.java b/rest-proxy-core/src/main/java/group/flyfish/rest/core/factory/DefaultHttpClientProvider.java index d8dfb4f..6e0a5e7 100644 --- a/rest-proxy-core/src/main/java/group/flyfish/rest/core/factory/DefaultHttpClientProvider.java +++ b/rest-proxy-core/src/main/java/group/flyfish/rest/core/factory/DefaultHttpClientProvider.java @@ -11,16 +11,12 @@ import org.springframework.beans.factory.BeanFactoryAware; * * @author wangyu */ -public class DefaultHttpClientProvider implements HttpClientProvider, BeanFactoryAware, PropertiesConfigurable { +public class DefaultHttpClientProvider extends PropertiesConfigAdaptor implements HttpClientProvider, BeanFactoryAware { private CloseableHttpClient client; private BeanFactory beanFactory; - public DefaultHttpClientProvider() { - PropertiesConfigurator.prepare(this); - } - /** * 获取client,可以自由替换 * diff --git a/rest-proxy-core/src/main/java/group/flyfish/rest/core/factory/HttpClientFactoryBean.java b/rest-proxy-core/src/main/java/group/flyfish/rest/core/factory/HttpClientFactoryBean.java index d2ef47d..ee19b19 100644 --- a/rest-proxy-core/src/main/java/group/flyfish/rest/core/factory/HttpClientFactoryBean.java +++ b/rest-proxy-core/src/main/java/group/flyfish/rest/core/factory/HttpClientFactoryBean.java @@ -21,7 +21,7 @@ import java.util.concurrent.locks.ReentrantLock; * @author wangyu */ @Slf4j -public final class HttpClientFactoryBean implements FactoryBean, PropertiesConfigurable { +public final class HttpClientFactoryBean extends PropertiesConfigAdaptor implements FactoryBean { // 使用非公平锁 private final ReentrantLock lock = new ReentrantLock(); @@ -30,10 +30,6 @@ public final class HttpClientFactoryBean implements FactoryBean item.configure(properties)); + list.forEach(item -> item.afterConfigured(properties)); list.clear(); } diff --git a/rest-proxy-core/src/main/java/group/flyfish/rest/registry/proxy/RestProxyInvoker.java b/rest-proxy-core/src/main/java/group/flyfish/rest/registry/proxy/RestProxyInvoker.java index 4001e29..e2fd412 100644 --- a/rest-proxy-core/src/main/java/group/flyfish/rest/registry/proxy/RestProxyInvoker.java +++ b/rest-proxy-core/src/main/java/group/flyfish/rest/registry/proxy/RestProxyInvoker.java @@ -8,8 +8,7 @@ import group.flyfish.rest.configuration.RestClientProperties; import group.flyfish.rest.core.auth.RestAuthProvider; import group.flyfish.rest.core.client.RestClient; import group.flyfish.rest.core.client.RestClientBuilder; -import group.flyfish.rest.core.factory.PropertiesConfigurable; -import group.flyfish.rest.core.factory.PropertiesConfigurator; +import group.flyfish.rest.core.factory.PropertiesConfigAdaptor; import group.flyfish.rest.mapping.RestResultMapping; import group.flyfish.rest.registry.RestApiRegistry; import group.flyfish.rest.registry.proxy.support.ArgumentResolveContext; @@ -42,7 +41,7 @@ import java.util.stream.Stream; * @author wangyu */ @Slf4j -public class RestProxyInvoker implements InvocationHandler, PropertiesConfigurable { +public class RestProxyInvoker extends PropertiesConfigAdaptor implements InvocationHandler { // 要代理的目标类 private final Class targetType; @@ -73,7 +72,6 @@ public class RestProxyInvoker implements InvocationHandler, PropertiesConfigu // 注解的优先级高于全局基本路径 this.restService = AnnotationUtils.findAnnotation(targetType, RestService.class); Assert.notNull(restService, "当前类尚未添加@RestService注解!"); - PropertiesConfigurator.prepare(this); } /** @@ -94,7 +92,7 @@ public class RestProxyInvoker implements InvocationHandler, PropertiesConfigu * @param properties 属性 */ @Override - public void configure(RestClientProperties properties) { + public void afterConfigured(RestClientProperties properties) { this.properties = properties; this.config = RequestConfig.custom().setConnectTimeout((int) properties.getConnectionTimeout().toMillis()).setSocketTimeout(restService.timeout()).build(); this.baseUrl = this.findBaseUrl();