From dedcdf75876288de6f601eea668411cc6116dd74 Mon Sep 17 00:00:00 2001 From: =?utf8?q?=E5=88=98=E6=B4=AA=E9=9D=92?= Date: Thu, 5 Sep 2019 13:47:27 +0800 Subject: [PATCH] =?utf8?q?feat:=20=E8=A7=A3=E5=86=B3feign=20=E8=B0=83?= =?utf8?q?=E7=94=A8=E5=A4=9A=E4=B8=AA=E5=90=8E=E7=AB=AF=E6=9C=8D=E5=8A=A1?= =?utf8?q?=E6=97=B6=EF=BC=8C=E4=BD=BF=E7=94=A8=E7=8B=AC=E7=AB=8B=E7=9A=84f?= =?utf8?q?eign.Client=E9=85=8D=E7=BD=AE=EF=BC=8C=E4=BF=9D=E8=AF=81?= =?utf8?q?=E4=B8=8D=E5=90=8C=E5=90=8E=E7=AB=AF=E7=9A=84client-auth?= =?utf8?q?=E7=9A=84=E9=85=8D=E7=BD=AE=E4=B8=8D=E5=90=8C=20=E5=BE=97?= =?utf8?q?=E4=BB=A5=E7=94=9F=E6=95=88?= MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit --- .../BaseFeignClientConfiguration.java | 32 ++++++++++++++ .../AdminAccountRemoteFallbackFactory.java | 14 ++++++ .../admin/AdminAccountRemoteFeignClient.java | 15 +++++++ .../BizFeignClientConfiguration.java | 32 ++++++++++++++ .../admin/AdminBizRemoteFallbackFactory.java} | 8 ++-- .../admin/AdminBizRemoteFeignClient.java} | 10 +++-- .../aggr/apis/service/biz/BizService.java | 4 +- .../src/main/resources/application-docker.yml | 44 +++++++++++-------- aggr/admin/src/main/resources/application.yml | 37 ++++++++++++++-- .../src/main/resources/application-docker.yml | 39 ++++++++++++++++ bff/admin/src/main/resources/application.yml | 36 ++++----------- .../common/core/feign/FeignClientBuilder.java | 31 +++++++------ sa/admin/src/main/resources/application.yml | 2 +- 13 files changed, 227 insertions(+), 77 deletions(-) create mode 100644 aggr/admin/src/main/java/com/supwisdom/institute/backend/admin/aggr/apis/remote/base/configuration/BaseFeignClientConfiguration.java create mode 100644 aggr/admin/src/main/java/com/supwisdom/institute/backend/admin/aggr/apis/remote/base/v1/admin/AdminAccountRemoteFallbackFactory.java create mode 100644 aggr/admin/src/main/java/com/supwisdom/institute/backend/admin/aggr/apis/remote/base/v1/admin/AdminAccountRemoteFeignClient.java create mode 100644 aggr/admin/src/main/java/com/supwisdom/institute/backend/admin/aggr/apis/remote/biz/configuration/BizFeignClientConfiguration.java rename aggr/admin/src/main/java/com/supwisdom/institute/backend/admin/aggr/apis/remote/biz/{BizRemoteFallbackFactory.java => v1/admin/AdminBizRemoteFallbackFactory.java} (86%) rename aggr/admin/src/main/java/com/supwisdom/institute/backend/admin/aggr/apis/remote/biz/{BizRemoteFeignClient.java => v1/admin/AdminBizRemoteFeignClient.java} (80%) rename aggr/admin/src/main/java/com/supwisdom/institute/backend/admin/aggr/configuration/FeignClientConfiguration.java => common/core/src/main/java/com/supwisdom/institute/backend/common/core/feign/FeignClientBuilder.java (64%) diff --git a/aggr/admin/src/main/java/com/supwisdom/institute/backend/admin/aggr/apis/remote/base/configuration/BaseFeignClientConfiguration.java b/aggr/admin/src/main/java/com/supwisdom/institute/backend/admin/aggr/apis/remote/base/configuration/BaseFeignClientConfiguration.java new file mode 100644 index 0000000..68e44f9 --- /dev/null +++ b/aggr/admin/src/main/java/com/supwisdom/institute/backend/admin/aggr/apis/remote/base/configuration/BaseFeignClientConfiguration.java @@ -0,0 +1,32 @@ +package com.supwisdom.institute.backend.admin.aggr.apis.remote.base.configuration; + +import org.springframework.beans.factory.annotation.Value; +import org.springframework.context.annotation.Bean; + +import com.supwisdom.institute.backend.common.core.feign.FeignClientBuilder; + +import feign.Client; + +public class BaseFeignClientConfiguration { + + @Bean + public Client feignClient( + @Value("${sw-backend-base-api.client-auth.enabled:false}") boolean enabled, + @Value("${sw-backend-base-api.client-auth.key-password:}") String keyPassword, + @Value("${sw-backend-base-api.client-auth.key-store:}") String keyStore, + @Value("${sw-backend-base-api.client-auth.key-store-password:}") String keyStorePassword, + @Value("${sw-backend-base-api.client-auth.trust-store:}") String trustStore, + @Value("${sw-backend-base-api.client-auth.trust-store-password:}") String trustStorePassword) { + + return FeignClientBuilder.builder() + .enabled(enabled) + .keyPassword(keyPassword) + .keyStore(keyStore) + .keyStorePassword(keyStorePassword) + .trustStore(trustStore) + .trustStorePassword(trustStorePassword) + .build() + .client(); + } + +} diff --git a/aggr/admin/src/main/java/com/supwisdom/institute/backend/admin/aggr/apis/remote/base/v1/admin/AdminAccountRemoteFallbackFactory.java b/aggr/admin/src/main/java/com/supwisdom/institute/backend/admin/aggr/apis/remote/base/v1/admin/AdminAccountRemoteFallbackFactory.java new file mode 100644 index 0000000..586942a --- /dev/null +++ b/aggr/admin/src/main/java/com/supwisdom/institute/backend/admin/aggr/apis/remote/base/v1/admin/AdminAccountRemoteFallbackFactory.java @@ -0,0 +1,14 @@ +package com.supwisdom.institute.backend.admin.aggr.apis.remote.base.v1.admin; + +import feign.hystrix.FallbackFactory; + +public class AdminAccountRemoteFallbackFactory implements FallbackFactory { + + @Override + public AdminAccountRemoteFeignClient create(Throwable cause) { + return new AdminAccountRemoteFeignClient() { + + }; + } + +} diff --git a/aggr/admin/src/main/java/com/supwisdom/institute/backend/admin/aggr/apis/remote/base/v1/admin/AdminAccountRemoteFeignClient.java b/aggr/admin/src/main/java/com/supwisdom/institute/backend/admin/aggr/apis/remote/base/v1/admin/AdminAccountRemoteFeignClient.java new file mode 100644 index 0000000..133309c --- /dev/null +++ b/aggr/admin/src/main/java/com/supwisdom/institute/backend/admin/aggr/apis/remote/base/v1/admin/AdminAccountRemoteFeignClient.java @@ -0,0 +1,15 @@ +package com.supwisdom.institute.backend.admin.aggr.apis.remote.base.v1.admin; + +import org.springframework.cloud.openfeign.FeignClient; + +import com.supwisdom.institute.backend.admin.aggr.apis.remote.base.configuration.BaseFeignClientConfiguration; + +@FeignClient( + configuration = {BaseFeignClientConfiguration.class}, + name = "base-admin-account-remote-feign-client", + url = "${sw-backend-base-api.uri}/v1/admin/accounts", + fallbackFactory = AdminAccountRemoteFallbackFactory.class +) +public interface AdminAccountRemoteFeignClient { + +} diff --git a/aggr/admin/src/main/java/com/supwisdom/institute/backend/admin/aggr/apis/remote/biz/configuration/BizFeignClientConfiguration.java b/aggr/admin/src/main/java/com/supwisdom/institute/backend/admin/aggr/apis/remote/biz/configuration/BizFeignClientConfiguration.java new file mode 100644 index 0000000..88f5cda --- /dev/null +++ b/aggr/admin/src/main/java/com/supwisdom/institute/backend/admin/aggr/apis/remote/biz/configuration/BizFeignClientConfiguration.java @@ -0,0 +1,32 @@ +package com.supwisdom.institute.backend.admin.aggr.apis.remote.biz.configuration; + +import org.springframework.beans.factory.annotation.Value; +import org.springframework.context.annotation.Bean; + +import com.supwisdom.institute.backend.common.core.feign.FeignClientBuilder; + +import feign.Client; + +public class BizFeignClientConfiguration { + + @Bean + public Client feignClient( + @Value("${sw-backend-biz-api.client-auth.enabled:false}") boolean enabled, + @Value("${sw-backend-biz-api.client-auth.key-password:}") String keyPassword, + @Value("${sw-backend-biz-api.client-auth.key-store:}") String keyStore, + @Value("${sw-backend-biz-api.client-auth.key-store-password:}") String keyStorePassword, + @Value("${sw-backend-biz-api.client-auth.trust-store:}") String trustStore, + @Value("${sw-backend-biz-api.client-auth.trust-store-password:}") String trustStorePassword) { + + return FeignClientBuilder.builder() + .enabled(enabled) + .keyPassword(keyPassword) + .keyStore(keyStore) + .keyStorePassword(keyStorePassword) + .trustStore(trustStore) + .trustStorePassword(trustStorePassword) + .build() + .client(); + } + +} diff --git a/aggr/admin/src/main/java/com/supwisdom/institute/backend/admin/aggr/apis/remote/biz/BizRemoteFallbackFactory.java b/aggr/admin/src/main/java/com/supwisdom/institute/backend/admin/aggr/apis/remote/biz/v1/admin/AdminBizRemoteFallbackFactory.java similarity index 86% rename from aggr/admin/src/main/java/com/supwisdom/institute/backend/admin/aggr/apis/remote/biz/BizRemoteFallbackFactory.java rename to aggr/admin/src/main/java/com/supwisdom/institute/backend/admin/aggr/apis/remote/biz/v1/admin/AdminBizRemoteFallbackFactory.java index 22447f0..d27ce1f 100644 --- a/aggr/admin/src/main/java/com/supwisdom/institute/backend/admin/aggr/apis/remote/biz/BizRemoteFallbackFactory.java +++ b/aggr/admin/src/main/java/com/supwisdom/institute/backend/admin/aggr/apis/remote/biz/v1/admin/AdminBizRemoteFallbackFactory.java @@ -1,4 +1,4 @@ -package com.supwisdom.institute.backend.admin.aggr.apis.remote.biz; +package com.supwisdom.institute.backend.admin.aggr.apis.remote.biz.v1.admin; import org.springframework.stereotype.Component; @@ -9,11 +9,11 @@ import com.supwisdom.institute.backend.admin.aggr.apis.remote.exception.Fallback import feign.hystrix.FallbackFactory; @Component -public class BizRemoteFallbackFactory implements FallbackFactory { +public class AdminBizRemoteFallbackFactory implements FallbackFactory { @Override - public BizRemoteFeignClient create(Throwable cause) { - return new BizRemoteFeignClient() { + public AdminBizRemoteFeignClient create(Throwable cause) { + return new AdminBizRemoteFeignClient() { @Override public JSONObject query(boolean loadAll, int pageIndex, int pageSize) { diff --git a/aggr/admin/src/main/java/com/supwisdom/institute/backend/admin/aggr/apis/remote/biz/BizRemoteFeignClient.java b/aggr/admin/src/main/java/com/supwisdom/institute/backend/admin/aggr/apis/remote/biz/v1/admin/AdminBizRemoteFeignClient.java similarity index 80% rename from aggr/admin/src/main/java/com/supwisdom/institute/backend/admin/aggr/apis/remote/biz/BizRemoteFeignClient.java rename to aggr/admin/src/main/java/com/supwisdom/institute/backend/admin/aggr/apis/remote/biz/v1/admin/AdminBizRemoteFeignClient.java index 9361f45..99ec029 100644 --- a/aggr/admin/src/main/java/com/supwisdom/institute/backend/admin/aggr/apis/remote/biz/BizRemoteFeignClient.java +++ b/aggr/admin/src/main/java/com/supwisdom/institute/backend/admin/aggr/apis/remote/biz/v1/admin/AdminBizRemoteFeignClient.java @@ -1,4 +1,4 @@ -package com.supwisdom.institute.backend.admin.aggr.apis.remote.biz; +package com.supwisdom.institute.backend.admin.aggr.apis.remote.biz.v1.admin; import org.springframework.cloud.openfeign.FeignClient; import org.springframework.web.bind.annotation.PathVariable; @@ -9,13 +9,15 @@ import org.springframework.web.bind.annotation.RequestParam; import com.alibaba.fastjson.JSONObject; import com.supwisdom.institute.backend.admin.aggr.apis.model.biz.Biz; +import com.supwisdom.institute.backend.admin.aggr.apis.remote.biz.configuration.BizFeignClientConfiguration; @FeignClient( - name = "biz-biz-remote-feign-client", + configuration = {BizFeignClientConfiguration.class}, + name = "biz-admin-biz-remote-feign-client", url = "${sw-backend-biz-api.uri}/v1/admin/biz", - fallbackFactory = BizRemoteFallbackFactory.class + fallbackFactory = AdminBizRemoteFallbackFactory.class ) -public interface BizRemoteFeignClient { +public interface AdminBizRemoteFeignClient { @RequestMapping(method = RequestMethod.GET) JSONObject query( diff --git a/aggr/admin/src/main/java/com/supwisdom/institute/backend/admin/aggr/apis/service/biz/BizService.java b/aggr/admin/src/main/java/com/supwisdom/institute/backend/admin/aggr/apis/service/biz/BizService.java index 49baee2..acc2ac7 100644 --- a/aggr/admin/src/main/java/com/supwisdom/institute/backend/admin/aggr/apis/service/biz/BizService.java +++ b/aggr/admin/src/main/java/com/supwisdom/institute/backend/admin/aggr/apis/service/biz/BizService.java @@ -4,14 +4,14 @@ import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import com.alibaba.fastjson.JSONObject; -import com.supwisdom.institute.backend.admin.aggr.apis.remote.biz.BizRemoteFeignClient; +import com.supwisdom.institute.backend.admin.aggr.apis.remote.biz.v1.admin.AdminBizRemoteFeignClient; import com.supwisdom.institute.backend.admin.aggr.apis.vo.biz.response.data.BizQueryResponseData; @Service public class BizService { @Autowired - private BizRemoteFeignClient bizRemote; + private AdminBizRemoteFeignClient bizRemote; public BizQueryResponseData query(boolean loadAll, int pageIndex, int pageSize) { diff --git a/aggr/admin/src/main/resources/application-docker.yml b/aggr/admin/src/main/resources/application-docker.yml index a46fee8..78c8a3d 100644 --- a/aggr/admin/src/main/resources/application-docker.yml +++ b/aggr/admin/src/main/resources/application-docker.yml @@ -43,26 +43,32 @@ infras.online-doc.api-docs.staitc.path: ${INFRAS_ONLINE_DOC_API_DOCS_STATIC_PATH ## # server url for feign # -sw-backend-base-api: +sw-backend-base-api: uri: ${SW_BACKEND_BASE_API_URI:https://sw-backend-admin-sa} client-auth: - enabled: ${CASSERVER_SA_API_CLIENT_AUTH_ENABLED:true} - key-password: ${CASSERVER_SA_API_CLIENT_AUTH_KEY_PASSWORD:} - key-store: ${CASSERVER_SA_API_CLIENT_AUTH_KEYSTORE_FILE:file:/certs/common/common.keystore} - key-store-password: ${CASSERVER_SA_API_CLIENT_AUTH_KEYSTORE_PASSWORD:} - trust-store: ${CASSERVER_SA_API_CLIENT_AUTH_TRUSTSTORE_FILE:file:/certs/common/common.truststore} - trust-store-password: ${CASSERVER_SA_API_CLIENT_AUTH_TRUSTSTORE_PASSWORD:} - -sw-backend-system-api.uri: http://localhost:8081 -sw-backend-biz-api.uri: http://localhost:8081 + enabled: ${SW_BACKEND_BASE_API_CLIENT_AUTH_ENABLED:true} + key-password: ${SW_BACKEND_BASE_API_CLIENT_AUTH_KEY_PASSWORD:} + key-store: ${SW_BACKEND_BASE_API_CLIENT_AUTH_KEYSTORE_FILE:file:/certs/common/common.keystore} + key-store-password: ${SW_BACKEND_BASE_API_CLIENT_AUTH_KEYSTORE_PASSWORD:} + trust-store: ${SW_BACKEND_BASE_API_CLIENT_AUTH_TRUSTSTORE_FILE:file:/certs/common/common.truststore} + trust-store-password: ${SW_BACKEND_BASE_API_CLIENT_AUTH_TRUSTSTORE_PASSWORD:} -sw-backend-api-admin: - server: - url: ${CASSERVER_SA_API_SERVER_URL:https://sw-backend} +sw-backend-system-api: + uri: ${SW_BACKEND_SYSTEM_API_URI:https://sw-backend-admin-sa} client-auth: - enabled: ${CASSERVER_SA_API_CLIENT_AUTH_ENABLED:true} - key-password: ${CASSERVER_SA_API_CLIENT_AUTH_KEY_PASSWORD:} - key-store: ${CASSERVER_SA_API_CLIENT_AUTH_KEYSTORE_FILE:file:/certs/common/common.keystore} - key-store-password: ${CASSERVER_SA_API_CLIENT_AUTH_KEYSTORE_PASSWORD:} - trust-store: ${CASSERVER_SA_API_CLIENT_AUTH_TRUSTSTORE_FILE:file:/certs/common/common.truststore} - trust-store-password: ${CASSERVER_SA_API_CLIENT_AUTH_TRUSTSTORE_PASSWORD:} + enabled: ${SW_BACKEND_SYSTEM_API_CLIENT_AUTH_ENABLED:true} + key-password: ${SW_BACKEND_SYSTEM_API_CLIENT_AUTH_KEY_PASSWORD:} + key-store: ${SW_BACKEND_SYSTEM_API_CLIENT_AUTH_KEYSTORE_FILE:file:/certs/common/common.keystore} + key-store-password: ${SW_BACKEND_SYSTEM_API_CLIENT_AUTH_KEYSTORE_PASSWORD:} + trust-store: ${SW_BACKEND_SYSTEM_API_CLIENT_AUTH_TRUSTSTORE_FILE:file:/certs/common/common.truststore} + trust-store-password: ${SW_BACKEND_SYSTEM_API_CLIENT_AUTH_TRUSTSTORE_PASSWORD:} + +sw-backend-biz-api: + uri: ${SW_BACKEND_BIZ_API_URI:https://sw-backend-admin-sa} + client-auth: + enabled: ${SW_BACKEND_BIZ_API_CLIENT_AUTH_ENABLED:true} + key-password: ${SW_BACKEND_BIZ_API_CLIENT_AUTH_KEY_PASSWORD:} + key-store: ${SW_BACKEND_BIZ_API_CLIENT_AUTH_KEYSTORE_FILE:file:/certs/common/common.keystore} + key-store-password: ${SW_BACKEND_BIZ_API_CLIENT_AUTH_KEYSTORE_PASSWORD:} + trust-store: ${SW_BACKEND_BIZ_API_CLIENT_AUTH_TRUSTSTORE_FILE:file:/certs/common/common.truststore} + trust-store-password: ${SW_BACKEND_BIZ_API_CLIENT_AUTH_TRUSTSTORE_PASSWORD:} diff --git a/aggr/admin/src/main/resources/application.yml b/aggr/admin/src/main/resources/application.yml index e0683b0..8ad7215 100644 --- a/aggr/admin/src/main/resources/application.yml +++ b/aggr/admin/src/main/resources/application.yml @@ -1,5 +1,5 @@ server: - port: 8082 + port: 8081 ssl: enabled: false @@ -23,6 +23,30 @@ spring: time-zone: Asia/Shanghai +feign: + client: + config: + default: + #errorDecoder: com.supwisdom.leaveschool.common.config.BaseExceptionErrorDecoder + connectTimeout: 12000 + readTimeout: 12000 + loggerLevel: full + hystrix: + enabled: true + httpclient: + enabled: true + +hystrix: + command: + default: + execution: + timeout: + enabled: true + isolation: + thread: + timeoutInMilliseconds: 12000 + + ## # infras.online-doc # @@ -34,6 +58,11 @@ infras.online-doc.api-docs.staitc.path: /Users/loie/c/work/git/institute/sw-back ## # server url for feign # -sw-backend-base-api.uri: http://localhost:8081 -sw-backend-system-api.uri: http://localhost:8081 -sw-backend-biz-api.uri: http://localhost:8081 +sw-backend-base-api: + uri: http://localhost:8082 + +sw-backend-system-api: + uri: http://localhost:8082 + +sw-backend-biz-api: + uri: http://localhost:8082 diff --git a/bff/admin/src/main/resources/application-docker.yml b/bff/admin/src/main/resources/application-docker.yml index 394e329..9fb465a 100644 --- a/bff/admin/src/main/resources/application-docker.yml +++ b/bff/admin/src/main/resources/application-docker.yml @@ -27,6 +27,45 @@ logging: com.supwisdom: INFO +spring: + jackson: + time-zone: ${JACKSON_TIME_ZONE:Asia/Shanghai} + + +## +# spring cloud gateway +# + cloud: + gateway: + metrics: + enabled: true + routes: + - id: aggr-api + uri: ${SW_BACKEND_AGGR_API_URI:https://sw-backend-admin-aggr} + predicates: + - Path=/api/aggr/** + filters: + - RewritePath=/api/aggr/(?.*), /$\{suffix} + - id: base-api + uri: ${SW_BACKEND_BASE_API_URI:https://sw-backend-admin-sa} + predicates: + - Path=/api/base/** + filters: + - RewritePath=/api/base/(?.*), /$\{suffix} + - id: system-api + uri: ${SW_BACKEND_SYSTEM_API_URI:https://sw-backend-admin-sa} + predicates: + - Path=/api/system/** + filters: + - RewritePath=/api/system/(?.*), /$\{suffix} + - id: biz-api + uri: ${SW_BACKEND_BIZ_API_URI:https://sw-backend-admin-sa} + predicates: + - Path=/api/biz/** + filters: + - RewritePath=/api/biz/(?.*), /$\{suffix} + + ## # infras.online-doc # diff --git a/bff/admin/src/main/resources/application.yml b/bff/admin/src/main/resources/application.yml index 77789ac..5893a41 100644 --- a/bff/admin/src/main/resources/application.yml +++ b/bff/admin/src/main/resources/application.yml @@ -26,49 +26,31 @@ spring: enabled: true routes: - id: aggr-api - uri: http://localhost:8082 + uri: http://localhost:8081 predicates: - Path=/api/aggr/** filters: - RewritePath=/api/aggr/(?.*), /$\{suffix} - id: base-api - uri: http://localhost:8081 + uri: http://localhost:8082 predicates: - Path=/api/base/** filters: - RewritePath=/api/base/(?.*), /$\{suffix} + - id: system-api + uri: http://localhost:8082 + predicates: + - Path=/api/system/** + filters: + - RewritePath=/api/system/(?.*), /$\{suffix} - id: biz-api - uri: http://localhost:8081 + uri: http://localhost:8082 predicates: - Path=/api/biz/** filters: - RewritePath=/api/biz/(?.*), /$\{suffix} -feign: - client: - config: - default: - #errorDecoder: com.supwisdom.leaveschool.common.config.BaseExceptionErrorDecoder - connectTimeout: 12000 - readTimeout: 12000 - loggerLevel: full - hystrix: - enabled: true - httpclient: - enabled: true - -hystrix: - command: - default: - execution: - timeout: - enabled: true - isolation: - thread: - timeoutInMilliseconds: 12000 - - ## # infras.online-doc # diff --git a/aggr/admin/src/main/java/com/supwisdom/institute/backend/admin/aggr/configuration/FeignClientConfiguration.java b/common/core/src/main/java/com/supwisdom/institute/backend/common/core/feign/FeignClientBuilder.java similarity index 64% rename from aggr/admin/src/main/java/com/supwisdom/institute/backend/admin/aggr/configuration/FeignClientConfiguration.java rename to common/core/src/main/java/com/supwisdom/institute/backend/common/core/feign/FeignClientBuilder.java index 6bcf4c1..2fe606f 100644 --- a/aggr/admin/src/main/java/com/supwisdom/institute/backend/admin/aggr/configuration/FeignClientConfiguration.java +++ b/common/core/src/main/java/com/supwisdom/institute/backend/common/core/feign/FeignClientBuilder.java @@ -1,32 +1,31 @@ -package com.supwisdom.institute.backend.admin.aggr.configuration; +package com.supwisdom.institute.backend.common.core.feign; import javax.net.ssl.SSLContext; import javax.net.ssl.SSLSocketFactory; +import lombok.extern.slf4j.Slf4j; + import org.apache.http.conn.ssl.NoopHostnameVerifier; import org.apache.http.ssl.SSLContextBuilder; import org.apache.http.ssl.SSLContexts; -import org.springframework.beans.factory.annotation.Value; -import org.springframework.context.annotation.Bean; -import org.springframework.context.annotation.Configuration; import org.springframework.util.ResourceUtils; import feign.Client; -import lombok.extern.slf4j.Slf4j; @Slf4j -@Configuration -public class FeignClientConfiguration { +@lombok.Builder +public class FeignClientBuilder { + + private final boolean enabled; + + private String keyPassword; + private String keyStore; + private String keyStorePassword; + private String trustStore; + private String trustStorePassword; + + public Client client() { - @Bean - public Client feignClient( - @Value("${cas-server-sa-api.client-auth.enabled:false}") boolean enabled, - @Value("${cas-server-sa-api.client-auth.key-password:}") String keyPassword, - @Value("${cas-server-sa-api.client-auth.key-store:}") String keyStore, - @Value("${cas-server-sa-api.client-auth.key-store-password:}") String keyStorePassword, - @Value("${cas-server-sa-api.client-auth.trust-store:}") String trustStore, - @Value("${cas-server-sa-api.client-auth.trust-store-password:}") String trustStorePassword) { - if (!enabled) { return new Client.Default(null, null); } diff --git a/sa/admin/src/main/resources/application.yml b/sa/admin/src/main/resources/application.yml index 0ffd54f..da96932 100644 --- a/sa/admin/src/main/resources/application.yml +++ b/sa/admin/src/main/resources/application.yml @@ -1,5 +1,5 @@ server: - port: 8081 + port: 8082 ssl: enabled: false -- 2.17.1