From adeb89127f507e3d295e280367600d6f0aa7300c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=86=B7=E5=86=B7?= Date: Sun, 7 Oct 2018 08:04:21 +0800 Subject: [PATCH 1/9] =?UTF-8?q?=E6=9B=B4=E6=96=B0=20'README.md'?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index b7df59aa4..cc8f51eb8 100644 --- a/README.md +++ b/README.md @@ -6,7 +6,7 @@ 视频 | ppt ---|--- [>> 环境准备、运行pigx](https://www.bilibili.com/video/av33200189)| [PPT](https://slides.com/lengleng/pigx-springcloud-6) - +[>> pigx定时任务、运维平台使用](https://www.bilibili.com/video/av33268288)| [PPT](https://slides.com/lengleng/pigx-springcloud-7) ## 协议和授权 From e08ce03bd878d495a0fdd993bf0a0697a96c2f49 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=86=B7=E5=86=B7?= Date: Sun, 21 Oct 2018 23:42:12 +0800 Subject: [PATCH 2/9] =?UTF-8?q?:bookmark:=20=E5=8F=91=E5=B8=83=E4=B8=80?= =?UTF-8?q?=E4=B8=AA=E7=89=88=E6=9C=AC=E3=80=82=20=E8=A1=A5=E4=B8=81?= =?UTF-8?q?=E7=89=88=E6=9C=AC1.6.4=20=E8=A7=A3=E5=86=B3=E4=B8=8A=E7=89=88?= =?UTF-8?q?=E6=9C=AC=E9=81=97=E6=BC=8Fjdbcurl=20=E9=85=8D=E7=BD=AE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- pigx-config/src/main/resources/config/pigx-upms-dev.yml | 2 +- pom.xml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/pigx-config/src/main/resources/config/pigx-upms-dev.yml b/pigx-config/src/main/resources/config/pigx-upms-dev.yml index 146ad8087..a4fc228dc 100644 --- a/pigx-config/src/main/resources/config/pigx-upms-dev.yml +++ b/pigx-config/src/main/resources/config/pigx-upms-dev.yml @@ -13,7 +13,7 @@ spring: driver-class-name: com.mysql.jdbc.Driver username: root password: 123456 - url: jdbc:mysql://mysql:3306/pigx?characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=false + url: jdbc:mysql://mysql:3306/pigx?characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=false&allowMultiQueries=true # swagger相关配置,覆盖全局配置 swagger: diff --git a/pom.xml b/pom.xml index cfec5bc70..a859fd1ca 100644 --- a/pom.xml +++ b/pom.xml @@ -30,7 +30,7 @@ https://www.pig4cloud.com - 1.6.3 + 1.6.4 2.0.4.RELEASE Finchley.SR1 Cairo-SR3 From 76f2ef1940791b55510456f26874606369a62f9a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=86=B7=E5=86=B7?= Date: Thu, 25 Oct 2018 16:47:19 +0800 Subject: [PATCH 3/9] =?UTF-8?q?:arrow=5Fup:=20=E4=BE=9D=E8=B5=96=E5=8D=87?= =?UTF-8?q?=E7=BA=A7=E3=80=82=20F=20SR2=20=E3=80=81Boot=202.0.6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../pigx/gateway/filter/PigxRequestGlobalFilter.java | 11 ++--------- pom.xml | 6 +++--- 2 files changed, 5 insertions(+), 12 deletions(-) diff --git a/pigx-gateway/src/main/java/com/pig4cloud/pigx/gateway/filter/PigxRequestGlobalFilter.java b/pigx-gateway/src/main/java/com/pig4cloud/pigx/gateway/filter/PigxRequestGlobalFilter.java index bb608d7f5..2ef734f35 100644 --- a/pigx-gateway/src/main/java/com/pig4cloud/pigx/gateway/filter/PigxRequestGlobalFilter.java +++ b/pigx-gateway/src/main/java/com/pig4cloud/pigx/gateway/filter/PigxRequestGlobalFilter.java @@ -18,7 +18,6 @@ package com.pig4cloud.pigx.gateway.filter; import com.pig4cloud.pigx.common.core.constant.SecurityConstants; -import com.pig4cloud.pigx.gateway.config.SwaggerProvider; import org.springframework.cloud.gateway.filter.GatewayFilterChain; import org.springframework.cloud.gateway.filter.GlobalFilter; import org.springframework.core.Ordered; @@ -42,7 +41,8 @@ import static org.springframework.cloud.gateway.support.ServerWebExchangeUtils.a *

* 1. 对请求头中参数进行处理 from 参数进行清洗 * 2. 重写StripPrefix = 1,支持全局 - * 3. 支持swagger添加X-Forwarded-Prefix header + *

+ * 支持swagger添加X-Forwarded-Prefix header (F SR2 已经支持,不需要自己维护) */ @Component public class PigxRequestGlobalFilter implements GlobalFilter, Ordered { @@ -73,15 +73,8 @@ public class PigxRequestGlobalFilter implements GlobalFilter, Ordered { .build(); exchange.getAttributes().put(GATEWAY_REQUEST_URL_ATTR, newRequest.getURI()); - // 3. 支持swagger添加X-Forwarded-Prefix header - String path = request.getURI().getPath(); - if (!StringUtils.endsWithIgnoreCase(path, SwaggerProvider.API_URI)) { - return chain.filter(exchange.mutate().request(newRequest).build()); - } - String basePath = path.substring(0, path.lastIndexOf(SwaggerProvider.API_URI)); return chain.filter(exchange.mutate() .request(newRequest.mutate() - .header(HEADER_NAME, basePath) .build()).build()); } diff --git a/pom.xml b/pom.xml index 3c98aea13..96a4e05c6 100644 --- a/pom.xml +++ b/pom.xml @@ -31,13 +31,13 @@ 1.6.4 - 2.0.4.RELEASE - Finchley.SR1 + 2.0.6.RELEASE + Finchley.SR2 Cairo-SR3 UTF-8 1.8 1.8 - 2.0.3 + 2.0.4 4.1.13 2.3 0.0.9 From 62bc09930fc59752467092ed01d536f9a745be89 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=9A=96=E6=9A=96?= Date: Fri, 26 Oct 2018 19:10:42 +0800 Subject: [PATCH 4/9] =?UTF-8?q?:memo:=20=E7=BC=96=E5=86=99=E6=96=87?= =?UTF-8?q?=E6=A1=A3:=E6=96=87=E6=A1=A3=E5=A2=9E=E5=8A=A0=E9=85=8D?= =?UTF-8?q?=E7=BD=AEhosts=E7=9B=B8=E5=85=B3=E7=9A=84=E5=86=85=E5=AE=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- doc/md/deploy.md | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) diff --git a/doc/md/deploy.md b/doc/md/deploy.md index 7f27cafe8..c59a790d5 100644 --- a/doc/md/deploy.md +++ b/doc/md/deploy.md @@ -43,8 +43,20 @@ spring: url: jdbc:mysql://mysql:3306/pigx?characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=false ``` +### 四、配置本地hosts -### 四、pigx-ui: +从1.6.3开始,项目采用HOSTS配置ip的方式,所以开始运行项目前确保你的本机hosts文件中存在以下片段(以完全本机开发为例): + +``` +# 本地测试环境 +127.0.0.1 pigx-mysql +127.0.0.1 pigx-zookeeper +127.0.0.1 pigx-redis +127.0.0.1 pigx-gateway +127.0.0.1 pigx-eureka +``` + +### 五、pigx-ui: ``` git clone https://www.gitee.wang/pig/pigx-ui.git From fff29f8be7db1d6981f9424e5e070e92cb930036 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=86=B7=E5=86=B7?= Date: Sat, 27 Oct 2018 12:41:30 +0800 Subject: [PATCH 5/9] =?UTF-8?q?:sparkles:=20=E6=B7=BB=E5=8A=A0=E6=96=B0?= =?UTF-8?q?=E7=89=B9=E6=80=A7=E3=80=82=20remotetokenservice=20=E6=94=AF?= =?UTF-8?q?=E6=8C=81=E8=B4=9F=E8=BD=BD=E5=9D=87=E8=A1=A1?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../BaseResourceServerConfigurerAdapter.java | 58 ++++++++++++++++++- .../config/ResourceServerConfigurer.java | 5 +- .../config/ResourceServerConfigurer.java | 3 +- 3 files changed, 58 insertions(+), 8 deletions(-) diff --git a/pigx-common/pigx-common-security/src/main/java/com/pig4cloud/pigx/common/security/component/BaseResourceServerConfigurerAdapter.java b/pigx-common/pigx-common-security/src/main/java/com/pig4cloud/pigx/common/security/component/BaseResourceServerConfigurerAdapter.java index f49d86b20..bf49a3f6d 100644 --- a/pigx-common/pigx-common-security/src/main/java/com/pig4cloud/pigx/common/security/component/BaseResourceServerConfigurerAdapter.java +++ b/pigx-common/pigx-common-security/src/main/java/com/pig4cloud/pigx/common/security/component/BaseResourceServerConfigurerAdapter.java @@ -18,6 +18,8 @@ package com.pig4cloud.pigx.common.security.component; import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.cloud.client.loadbalancer.LoadBalanced; +import org.springframework.context.annotation.Bean; import org.springframework.security.config.annotation.web.builders.HttpSecurity; import org.springframework.security.core.userdetails.UserDetailsService; import org.springframework.security.oauth2.config.annotation.web.configuration.ResourceServerConfigurerAdapter; @@ -25,10 +27,14 @@ import org.springframework.security.oauth2.config.annotation.web.configurers.Res import org.springframework.security.oauth2.provider.token.DefaultAccessTokenConverter; import org.springframework.security.oauth2.provider.token.DefaultUserAuthenticationConverter; import org.springframework.security.oauth2.provider.token.RemoteTokenServices; +import org.springframework.web.client.RestTemplate; /** * @author lengleng * @date 2018/6/22 + *

+ * 1. 支持remoteTokenServices 负载均衡 + * 2. 支持 获取用户全部信息 */ public abstract class BaseResourceServerConfigurerAdapter extends ResourceServerConfigurerAdapter { @Autowired @@ -40,21 +46,49 @@ public abstract class BaseResourceServerConfigurerAdapter extends ResourceServer @Autowired protected UserDetailsService userDetailsService; + + /** + * 默认的配置,对外暴露 + * + * @param http + * @throws Exception + */ @Override public abstract void configure(HttpSecurity http) throws Exception; /** - * why add resourceId - * https://stackoverflow.com/questions/28703847/how-do-you-set-a-resource-id-for-a-token + * 提供子类重写 + *

+ * 1. 不重写,默认支持获取雍熙 + * 2. 重写notGetUser,提供性能 + *

+ * see codegen ResourceServerConfigurer * * @param resources */ @Override public void configure(ResourceServerSecurityConfigurer resources) { + canGetUser(resources); + } + + @Bean + @LoadBalanced + public RestTemplate lbRestTemplate() { + return new RestTemplate(); + } + + + /** + * 不获取用户详细 只有用户名 + * + * @param resources + */ + protected void notGetUser(ResourceServerSecurityConfigurer resources) { DefaultAccessTokenConverter accessTokenConverter = new DefaultAccessTokenConverter(); DefaultUserAuthenticationConverter userTokenConverter = new DefaultUserAuthenticationConverter(); - userTokenConverter.setUserDetailsService(userDetailsService); accessTokenConverter.setUserTokenConverter(userTokenConverter); + + remoteTokenServices.setRestTemplate(lbRestTemplate()); remoteTokenServices.setAccessTokenConverter(accessTokenConverter); resources.authenticationEntryPoint(resourceAuthExceptionEntryPoint) .accessDeniedHandler(pigAccessDeniedHandler) @@ -62,4 +96,22 @@ public abstract class BaseResourceServerConfigurerAdapter extends ResourceServer } + /** + * 上下文中获取用户全部信息,两次调用userDetailsService,影响性能 + * + * @param resources + */ + private void canGetUser(ResourceServerSecurityConfigurer resources) { + DefaultAccessTokenConverter accessTokenConverter = new DefaultAccessTokenConverter(); + DefaultUserAuthenticationConverter userTokenConverter = new DefaultUserAuthenticationConverter(); + userTokenConverter.setUserDetailsService(userDetailsService); + accessTokenConverter.setUserTokenConverter(userTokenConverter); + + remoteTokenServices.setRestTemplate(lbRestTemplate()); + remoteTokenServices.setAccessTokenConverter(accessTokenConverter); + resources.authenticationEntryPoint(resourceAuthExceptionEntryPoint) + .accessDeniedHandler(pigAccessDeniedHandler) + .tokenServices(remoteTokenServices); + } + } diff --git a/pigx-visual/pigx-codegen/src/main/java/com/pig4cloud/pigx/codegen/config/ResourceServerConfigurer.java b/pigx-visual/pigx-codegen/src/main/java/com/pig4cloud/pigx/codegen/config/ResourceServerConfigurer.java index 86dce1ae9..351c636a0 100644 --- a/pigx-visual/pigx-codegen/src/main/java/com/pig4cloud/pigx/codegen/config/ResourceServerConfigurer.java +++ b/pigx-visual/pigx-codegen/src/main/java/com/pig4cloud/pigx/codegen/config/ResourceServerConfigurer.java @@ -44,13 +44,12 @@ public class ResourceServerConfigurer extends BaseResourceServerConfigurerAdapte } /** - * 重写抽象类实现,不需要调用feign 获取 userdetils + * 重写抽象类实现,不需要调用feign 获取 userDetailsService * * @param resources */ @Override public void configure(ResourceServerSecurityConfigurer resources) { - resources.authenticationEntryPoint(resourceAuthExceptionEntryPoint) - .accessDeniedHandler(pigAccessDeniedHandler); + notGetUser(resources); } } diff --git a/pigx-visual/pigx-daemon/src/main/java/com/pig4cloud/pigx/daemon/config/ResourceServerConfigurer.java b/pigx-visual/pigx-daemon/src/main/java/com/pig4cloud/pigx/daemon/config/ResourceServerConfigurer.java index 7dca50923..e6daefc83 100644 --- a/pigx-visual/pigx-daemon/src/main/java/com/pig4cloud/pigx/daemon/config/ResourceServerConfigurer.java +++ b/pigx-visual/pigx-daemon/src/main/java/com/pig4cloud/pigx/daemon/config/ResourceServerConfigurer.java @@ -50,7 +50,6 @@ public class ResourceServerConfigurer extends BaseResourceServerConfigurerAdapte */ @Override public void configure(ResourceServerSecurityConfigurer resources) { - resources.authenticationEntryPoint(resourceAuthExceptionEntryPoint) - .accessDeniedHandler(pigAccessDeniedHandler); + notGetUser(resources); } } From a6d5936afb3ced34b6d7822bec04aa354a4ebcb4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=86=B7=E5=86=B7?= Date: Sat, 27 Oct 2018 12:42:28 +0800 Subject: [PATCH 6/9] =?UTF-8?q?:wrench:=20=E4=BF=AE=E6=94=B9=E9=85=8D?= =?UTF-8?q?=E7=BD=AE=E6=96=87=E4=BB=B6=E3=80=82=E9=85=8D=E7=BD=AE=E6=96=87?= =?UTF-8?q?=E4=BB=B6hosts?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- doc/md/deploy.md | 2 +- docker-compose.yml | 17 +++++++++++++++++ pigx-auth/src/main/resources/bootstrap.yml | 2 +- pigx-config/src/main/resources/bootstrap.yml | 2 +- .../main/resources/config/application-dev.yml | 11 +++++------ .../src/main/resources/config/pigx-auth-dev.yml | 4 ++-- .../main/resources/config/pigx-codegen-dev.yml | 4 ++-- .../main/resources/config/pigx-daemon-dev.yml | 6 +++--- .../main/resources/config/pigx-gateway-dev.yml | 2 +- .../src/main/resources/config/pigx-upms-dev.yml | 4 ++-- .../gateway/filter/PasswordDecoderFilter.java | 2 +- ...lter.java => ValidateCodeGatewayFilter.java} | 2 +- .../pigx/gateway/handler/ImageCodeHandler.java | 4 ++-- pigx-gateway/src/main/resources/bootstrap.yml | 2 +- .../src/main/resources/bootstrap.yml | 2 +- .../src/main/resources/bootstrap.yml | 2 +- .../src/main/resources/bootstrap.yml | 2 +- .../src/main/resources/bootstrap.yml | 2 +- .../src/main/resources/bootstrap.yml | 2 +- pom.xml | 2 +- 20 files changed, 46 insertions(+), 30 deletions(-) rename pigx-gateway/src/main/java/com/pig4cloud/pigx/gateway/filter/{ImageCodeGatewayFilter.java => ValidateCodeGatewayFilter.java} (98%) diff --git a/doc/md/deploy.md b/doc/md/deploy.md index c59a790d5..cd85756e2 100644 --- a/doc/md/deploy.md +++ b/doc/md/deploy.md @@ -40,7 +40,7 @@ spring: driver-class-name: com.mysql.jdbc.Driver username: root password: lengleng - url: jdbc:mysql://mysql:3306/pigx?characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=false + url: jdbc:pigx-mysql://mysql:3306/pigx?characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=false ``` ### 四、配置本地hosts diff --git a/docker-compose.yml b/docker-compose.yml index a339addd3..541bf014b 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -1,10 +1,18 @@ version: '2' services: + pigx-zookeeper: + image: zookeeper:3.4.13 + ports: + - 2181:2181 + restart: always + container_name: pigx-zookeeper + pigx-redis: image: redis:4.0.10 ports: - 6379:6379 restart: always + container_name: pigx-redis pigx-eureka: build: @@ -13,6 +21,7 @@ services: restart: always ports: - 1025:1025 + container_name: pigx-eureka pigx-config: links: @@ -21,6 +30,7 @@ services: context: ./ dockerfile: ./pigx-config/Dockerfile restart: always + container_name: pigx-config pigx-gateway: links: @@ -32,6 +42,7 @@ services: restart: always ports: - 9999:9999 + container_name: pigx-gateway pigx-auth: links: @@ -41,6 +52,7 @@ services: context: ./ dockerfile: ./pigx-auth/Dockerfile restart: always + container_name: pigx-auth pigx-upms: links: @@ -51,6 +63,7 @@ services: context: ./ dockerfile: ./pigx-upms/pigx-upms-biz/Dockerfile restart: always + container_name: pigx-upms pigx-monitor: links: @@ -62,6 +75,7 @@ services: restart: always ports: - 5001:5001 + container_name: pigx-monitor pigx-daemon: links: @@ -73,6 +87,7 @@ services: restart: always ports: - 5002:5002 + container_name: pigx-daemon pigx-codegen: links: @@ -82,6 +97,7 @@ services: context: ./ dockerfile: ./pigx-visual/pigx-codegen/Dockerfile restart: always + container_name: pigx-codegen pigx-tx-manager: links: @@ -94,3 +110,4 @@ services: ports: - 5004:5004 - 9998:9998 + container_name: pigx-tx-manager diff --git a/pigx-auth/src/main/resources/bootstrap.yml b/pigx-auth/src/main/resources/bootstrap.yml index aed68dfa4..4a98cab0c 100644 --- a/pigx-auth/src/main/resources/bootstrap.yml +++ b/pigx-auth/src/main/resources/bootstrap.yml @@ -20,4 +20,4 @@ eureka: prefer-ip-address: true client: service-url: - defaultZone: http://pig:pig@localhost:1025/eureka/ + defaultZone: http://pig:pig@pigx-eureka:1025/eureka/ diff --git a/pigx-config/src/main/resources/bootstrap.yml b/pigx-config/src/main/resources/bootstrap.yml index 5564b817f..b175a2426 100644 --- a/pigx-config/src/main/resources/bootstrap.yml +++ b/pigx-config/src/main/resources/bootstrap.yml @@ -19,7 +19,7 @@ eureka: prefer-ip-address: true client: service-url: - defaultZone: http://pig:pig@localhost:1025/eureka/ + defaultZone: http://pig:pig@pigx-eureka:1025/eureka/ # 暴露监控端点 management: diff --git a/pigx-config/src/main/resources/config/application-dev.yml b/pigx-config/src/main/resources/config/application-dev.yml index 6ffd458a0..c65e29081 100644 --- a/pigx-config/src/main/resources/config/application-dev.yml +++ b/pigx-config/src/main/resources/config/application-dev.yml @@ -6,7 +6,7 @@ jasypt: spring: redis: password: - host: redis + host: pigx-redis # Jackson配置 jackson: time-zone: GMT+8 @@ -78,7 +78,7 @@ mybatis-plus: swagger: title: PigX Swagger API description: 全宇宙最牛逼的Spring Cloud微服务开发脚手架 - version: 1.6.2 + version: 1.7.0 license: Powered By PigX licenseUrl: https://pig4cloud.com/ terms-of-service-url: https://pig4cloud.com/ @@ -93,12 +93,11 @@ swagger: - scope: server description: server all token-url-list: - - ${security.auth.server}/token + - http://pigx-gateway:9999/auth/oauth/token ## spring security 配置 security: - auth: - server: http://localhost:9999/auth/oauth oauth2: resource: - token-info-uri: ${security.auth.server}/check_token + loadBalanced: true + token-info-uri: http://pigx-auth/oauth/check_token diff --git a/pigx-config/src/main/resources/config/pigx-auth-dev.yml b/pigx-config/src/main/resources/config/pigx-auth-dev.yml index e4187342e..4ade36d4d 100644 --- a/pigx-config/src/main/resources/config/pigx-auth-dev.yml +++ b/pigx-config/src/main/resources/config/pigx-auth-dev.yml @@ -4,5 +4,5 @@ spring: type: com.zaxxer.hikari.HikariDataSource driver-class-name: com.mysql.jdbc.Driver username: root - password: 123456 - url: jdbc:mysql://mysql:3306/pigx?characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=false + password: root + url: jdbc:mysql://pigx-mysql:3306/pigx?characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=false diff --git a/pigx-config/src/main/resources/config/pigx-codegen-dev.yml b/pigx-config/src/main/resources/config/pigx-codegen-dev.yml index 923770e6a..6dceea95d 100644 --- a/pigx-config/src/main/resources/config/pigx-codegen-dev.yml +++ b/pigx-config/src/main/resources/config/pigx-codegen-dev.yml @@ -12,7 +12,7 @@ spring: type: com.zaxxer.hikari.HikariDataSource driver-class-name: com.mysql.jdbc.Driver username: root - password: 123456 - url: jdbc:mysql://mysql:3306/pigx?characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=false + password: root + url: jdbc:mysql://pigx-mysql:3306/pigx?characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=false resources: static-locations: classpath:/static/,classpath:/views/ diff --git a/pigx-config/src/main/resources/config/pigx-daemon-dev.yml b/pigx-config/src/main/resources/config/pigx-daemon-dev.yml index 5bb30138b..22f27306f 100644 --- a/pigx-config/src/main/resources/config/pigx-daemon-dev.yml +++ b/pigx-config/src/main/resources/config/pigx-daemon-dev.yml @@ -13,12 +13,12 @@ spring: type: com.zaxxer.hikari.HikariDataSource driver-class-name: com.mysql.jdbc.Driver username: root - password: 123456 - url: jdbc:mysql://mysql:3306/pigx?characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=false + password: root + url: jdbc:mysql://pigx-mysql:3306/pigx?characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=false elasticjob: # 分布式任务协调依赖zookeeper zookeeper: - server-lists: zookeeper:2181 + server-lists: pigx-zookeeper:2181 namespace: pigx-daemon # 普通任务 simples: diff --git a/pigx-config/src/main/resources/config/pigx-gateway-dev.yml b/pigx-config/src/main/resources/config/pigx-gateway-dev.yml index f8723322b..070b53c79 100644 --- a/pigx-config/src/main/resources/config/pigx-gateway-dev.yml +++ b/pigx-config/src/main/resources/config/pigx-gateway-dev.yml @@ -11,7 +11,7 @@ spring: - Path=/auth/** filters: # 验证码处理 - - ImageCodeGatewayFilter + - ValidateCodeGatewayFilter # 前端密码解密 - PasswordDecoderFilter #UPMS 模块 diff --git a/pigx-config/src/main/resources/config/pigx-upms-dev.yml b/pigx-config/src/main/resources/config/pigx-upms-dev.yml index a4fc228dc..1f5ea33bc 100644 --- a/pigx-config/src/main/resources/config/pigx-upms-dev.yml +++ b/pigx-config/src/main/resources/config/pigx-upms-dev.yml @@ -12,8 +12,8 @@ spring: type: com.zaxxer.hikari.HikariDataSource driver-class-name: com.mysql.jdbc.Driver username: root - password: 123456 - url: jdbc:mysql://mysql:3306/pigx?characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=false&allowMultiQueries=true + password: root + url: jdbc:mysql://pigx-mysql:3306/pigx?characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=false&allowMultiQueries=true # swagger相关配置,覆盖全局配置 swagger: diff --git a/pigx-gateway/src/main/java/com/pig4cloud/pigx/gateway/filter/PasswordDecoderFilter.java b/pigx-gateway/src/main/java/com/pig4cloud/pigx/gateway/filter/PasswordDecoderFilter.java index 4c9394c37..b7de0e1e4 100644 --- a/pigx-gateway/src/main/java/com/pig4cloud/pigx/gateway/filter/PasswordDecoderFilter.java +++ b/pigx-gateway/src/main/java/com/pig4cloud/pigx/gateway/filter/PasswordDecoderFilter.java @@ -65,7 +65,7 @@ public class PasswordDecoderFilter extends AbstractGatewayFilterFactory { ServerHttpRequest request = exchange.getRequest(); // 不是登录请求,直接向下执行 - if (!StrUtil.containsAnyIgnoreCase(request.getURI().getPath(), ImageCodeGatewayFilter.OAUTH_TOKEN_URL)) { + if (!StrUtil.containsAnyIgnoreCase(request.getURI().getPath(), ValidateCodeGatewayFilter.OAUTH_TOKEN_URL)) { return chain.filter(exchange); } diff --git a/pigx-gateway/src/main/java/com/pig4cloud/pigx/gateway/filter/ImageCodeGatewayFilter.java b/pigx-gateway/src/main/java/com/pig4cloud/pigx/gateway/filter/ValidateCodeGatewayFilter.java similarity index 98% rename from pigx-gateway/src/main/java/com/pig4cloud/pigx/gateway/filter/ImageCodeGatewayFilter.java rename to pigx-gateway/src/main/java/com/pig4cloud/pigx/gateway/filter/ValidateCodeGatewayFilter.java index 7ebd861a8..a32118d78 100644 --- a/pigx-gateway/src/main/java/com/pig4cloud/pigx/gateway/filter/ImageCodeGatewayFilter.java +++ b/pigx-gateway/src/main/java/com/pig4cloud/pigx/gateway/filter/ValidateCodeGatewayFilter.java @@ -42,7 +42,7 @@ import java.io.IOException; */ @Slf4j @Component -public class ImageCodeGatewayFilter extends AbstractGatewayFilterFactory { +public class ValidateCodeGatewayFilter extends AbstractGatewayFilterFactory { public static final String DEFAULT_CODE_KEY = "DEFAULT_CODE_KEY"; public static final String OAUTH_TOKEN_URL = "/oauth/token"; private static final String BASIC_ = "Basic "; diff --git a/pigx-gateway/src/main/java/com/pig4cloud/pigx/gateway/handler/ImageCodeHandler.java b/pigx-gateway/src/main/java/com/pig4cloud/pigx/gateway/handler/ImageCodeHandler.java index f9c8c93a4..a144ee7ac 100644 --- a/pigx-gateway/src/main/java/com/pig4cloud/pigx/gateway/handler/ImageCodeHandler.java +++ b/pigx-gateway/src/main/java/com/pig4cloud/pigx/gateway/handler/ImageCodeHandler.java @@ -18,7 +18,7 @@ package com.pig4cloud.pigx.gateway.handler; import com.google.code.kaptcha.Producer; -import com.pig4cloud.pigx.gateway.filter.ImageCodeGatewayFilter; +import com.pig4cloud.pigx.gateway.filter.ValidateCodeGatewayFilter; import lombok.AllArgsConstructor; import lombok.extern.slf4j.Slf4j; import org.springframework.core.io.ByteArrayResource; @@ -58,7 +58,7 @@ public class ImageCodeHandler implements HandlerFunction { //保存验证码信息 String randomStr = serverRequest.queryParam("randomStr").get(); - redisTemplate.opsForValue().set(ImageCodeGatewayFilter.DEFAULT_CODE_KEY + randomStr, text, 60, TimeUnit.SECONDS); + redisTemplate.opsForValue().set(ValidateCodeGatewayFilter.DEFAULT_CODE_KEY + randomStr, text, 60, TimeUnit.SECONDS); // 转换流信息写出 FastByteArrayOutputStream os = new FastByteArrayOutputStream(); diff --git a/pigx-gateway/src/main/resources/bootstrap.yml b/pigx-gateway/src/main/resources/bootstrap.yml index aeb0ffd87..5916dfdb8 100644 --- a/pigx-gateway/src/main/resources/bootstrap.yml +++ b/pigx-gateway/src/main/resources/bootstrap.yml @@ -22,6 +22,6 @@ eureka: prefer-ip-address: true client: service-url: - defaultZone: http://pig:pig@localhost:1025/eureka/ + defaultZone: http://pig:pig@pigx-eureka:1025/eureka/ diff --git a/pigx-upms/pigx-upms-biz/src/main/resources/bootstrap.yml b/pigx-upms/pigx-upms-biz/src/main/resources/bootstrap.yml index 1dbe02882..ba90e1d06 100644 --- a/pigx-upms/pigx-upms-biz/src/main/resources/bootstrap.yml +++ b/pigx-upms/pigx-upms-biz/src/main/resources/bootstrap.yml @@ -23,4 +23,4 @@ eureka: prefer-ip-address: true client: service-url: - defaultZone: http://pig:pig@localhost:1025/eureka/ + defaultZone: http://pig:pig@pigx-eureka:1025/eureka/ diff --git a/pigx-visual/pigx-codegen/src/main/resources/bootstrap.yml b/pigx-visual/pigx-codegen/src/main/resources/bootstrap.yml index 0277820e6..5d94b0eeb 100644 --- a/pigx-visual/pigx-codegen/src/main/resources/bootstrap.yml +++ b/pigx-visual/pigx-codegen/src/main/resources/bootstrap.yml @@ -20,7 +20,7 @@ eureka: prefer-ip-address: true client: service-url: - defaultZone: http://pig:pig@localhost:1025/eureka/ + defaultZone: http://pig:pig@pigx-eureka:1025/eureka/ logging: level: root: info diff --git a/pigx-visual/pigx-daemon/src/main/resources/bootstrap.yml b/pigx-visual/pigx-daemon/src/main/resources/bootstrap.yml index da9accb63..88c5cbaf0 100644 --- a/pigx-visual/pigx-daemon/src/main/resources/bootstrap.yml +++ b/pigx-visual/pigx-daemon/src/main/resources/bootstrap.yml @@ -20,4 +20,4 @@ eureka: prefer-ip-address: true client: service-url: - defaultZone: http://pig:pig@localhost:1025/eureka/ + defaultZone: http://pig:pig@pigx-eureka:1025/eureka/ diff --git a/pigx-visual/pigx-monitor/src/main/resources/bootstrap.yml b/pigx-visual/pigx-monitor/src/main/resources/bootstrap.yml index 1e29612c9..fc2891602 100644 --- a/pigx-visual/pigx-monitor/src/main/resources/bootstrap.yml +++ b/pigx-visual/pigx-monitor/src/main/resources/bootstrap.yml @@ -20,4 +20,4 @@ eureka: prefer-ip-address: true client: service-url: - defaultZone: http://pig:pig@localhost:1025/eureka/ + defaultZone: http://pig:pig@pigx-eureka:1025/eureka/ diff --git a/pigx-visual/pigx-tx-manager/src/main/resources/bootstrap.yml b/pigx-visual/pigx-tx-manager/src/main/resources/bootstrap.yml index 50f914d85..9d47a0818 100644 --- a/pigx-visual/pigx-tx-manager/src/main/resources/bootstrap.yml +++ b/pigx-visual/pigx-tx-manager/src/main/resources/bootstrap.yml @@ -20,5 +20,5 @@ eureka: prefer-ip-address: true client: service-url: - defaultZone: http://pig:pig@localhost:1025/eureka/ + defaultZone: http://pig:pig@pigx-eureka:1025/eureka/ diff --git a/pom.xml b/pom.xml index 96a4e05c6..7be3c10aa 100644 --- a/pom.xml +++ b/pom.xml @@ -30,7 +30,7 @@ https://www.pig4cloud.com - 1.6.4 + 1.7.0 2.0.6.RELEASE Finchley.SR2 Cairo-SR3 From 1fefee12cb05cd4329c3a91363eb13c8e00ea027 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=9A=96=E6=9A=96?= Date: Sat, 27 Oct 2018 21:08:19 +0800 Subject: [PATCH 7/9] =?UTF-8?q?:wrench:=20=E4=BF=AE=E6=94=B9=E9=85=8D?= =?UTF-8?q?=E7=BD=AE=E6=96=87=E4=BB=B6:=E5=85=A8=E5=B1=80=E9=BB=98?= =?UTF-8?q?=E8=AE=A4=E6=97=A5=E5=BF=97=E6=94=B9=E4=B8=BAwarn,=E9=A1=B9?= =?UTF-8?q?=E7=9B=AE=E6=97=A5=E5=BF=97=E7=BA=A7=E5=88=AB=E4=B8=BAinfo?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- pigx-config/src/main/resources/config/application-dev.yml | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/pigx-config/src/main/resources/config/application-dev.yml b/pigx-config/src/main/resources/config/application-dev.yml index c65e29081..333a0a25b 100644 --- a/pigx-config/src/main/resources/config/application-dev.yml +++ b/pigx-config/src/main/resources/config/application-dev.yml @@ -101,3 +101,9 @@ security: resource: loadBalanced: true token-info-uri: http://pigx-auth/oauth/check_token + +# log配置 +logging: + level: + root: warn + com.pig4cloud.pigx: info From e6723861e87d966e6788eef91bb07f3d00015d28 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=86=B7=E5=86=B7?= Date: Sun, 28 Oct 2018 21:29:05 +0800 Subject: [PATCH 8/9] :recycle: Refactoring code.remove no use import --- ...igxResourceServerTokenRelayAutoConfiguration.java | 12 ++++-------- .../security/feign/PigxFeignClientConfiguration.java | 1 - .../security/mobile/MobileAuthenticationFilter.java | 1 - .../admin/service/impl/SysRoleMenuServiceImpl.java | 1 - .../src/main/resources/template/Controller.java.vm | 3 --- 5 files changed, 4 insertions(+), 14 deletions(-) diff --git a/pigx-common/pigx-common-security/src/main/java/com/pig4cloud/pigx/common/security/component/PigxResourceServerTokenRelayAutoConfiguration.java b/pigx-common/pigx-common-security/src/main/java/com/pig4cloud/pigx/common/security/component/PigxResourceServerTokenRelayAutoConfiguration.java index 78577d921..ca8a2aac0 100644 --- a/pigx-common/pigx-common-security/src/main/java/com/pig4cloud/pigx/common/security/component/PigxResourceServerTokenRelayAutoConfiguration.java +++ b/pigx-common/pigx-common-security/src/main/java/com/pig4cloud/pigx/common/security/component/PigxResourceServerTokenRelayAutoConfiguration.java @@ -1,23 +1,19 @@ package com.pig4cloud.pigx.common.security.component; -import org.springframework.beans.factory.annotation.Autowired; import org.springframework.boot.autoconfigure.AutoConfigureAfter; -import org.springframework.boot.autoconfigure.condition.*; +import org.springframework.boot.autoconfigure.condition.AllNestedConditions; +import org.springframework.boot.autoconfigure.condition.ConditionalOnBean; +import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty; +import org.springframework.boot.autoconfigure.condition.ConditionalOnWebApplication; import org.springframework.boot.autoconfigure.security.oauth2.OAuth2AutoConfiguration; import org.springframework.cloud.security.oauth2.client.AccessTokenContextRelay; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Conditional; import org.springframework.context.annotation.Configuration; -import org.springframework.core.annotation.Order; import org.springframework.security.oauth2.client.OAuth2ClientContext; import org.springframework.security.oauth2.config.annotation.web.configuration.OAuth2ClientConfiguration; import org.springframework.security.oauth2.config.annotation.web.configuration.ResourceServerConfiguration; -import org.springframework.web.servlet.config.annotation.InterceptorRegistry; -import org.springframework.web.servlet.config.annotation.WebMvcConfigurer; -import org.springframework.web.servlet.handler.HandlerInterceptorAdapter; -import javax.servlet.http.HttpServletRequest; -import javax.servlet.http.HttpServletResponse; import java.lang.annotation.*; /** diff --git a/pigx-common/pigx-common-security/src/main/java/com/pig4cloud/pigx/common/security/feign/PigxFeignClientConfiguration.java b/pigx-common/pigx-common-security/src/main/java/com/pig4cloud/pigx/common/security/feign/PigxFeignClientConfiguration.java index 211b0bea9..c9c4fee6e 100644 --- a/pigx-common/pigx-common-security/src/main/java/com/pig4cloud/pigx/common/security/feign/PigxFeignClientConfiguration.java +++ b/pigx-common/pigx-common-security/src/main/java/com/pig4cloud/pigx/common/security/feign/PigxFeignClientConfiguration.java @@ -21,7 +21,6 @@ package com.pig4cloud.pigx.common.security.feign; import feign.RequestInterceptor; import lombok.AllArgsConstructor; -import org.springframework.beans.factory.annotation.Autowired; import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty; import org.springframework.cloud.security.oauth2.client.AccessTokenContextRelay; import org.springframework.context.annotation.Bean; diff --git a/pigx-common/pigx-common-security/src/main/java/com/pig4cloud/pigx/common/security/mobile/MobileAuthenticationFilter.java b/pigx-common/pigx-common-security/src/main/java/com/pig4cloud/pigx/common/security/mobile/MobileAuthenticationFilter.java index 98494a522..085dffd03 100644 --- a/pigx-common/pigx-common-security/src/main/java/com/pig4cloud/pigx/common/security/mobile/MobileAuthenticationFilter.java +++ b/pigx-common/pigx-common-security/src/main/java/com/pig4cloud/pigx/common/security/mobile/MobileAuthenticationFilter.java @@ -24,7 +24,6 @@ import org.springframework.http.HttpMethod; import org.springframework.security.authentication.AuthenticationEventPublisher; import org.springframework.security.authentication.AuthenticationServiceException; import org.springframework.security.authentication.BadCredentialsException; -import org.springframework.security.authentication.DefaultAuthenticationEventPublisher; import org.springframework.security.core.Authentication; import org.springframework.security.core.AuthenticationException; import org.springframework.security.core.context.SecurityContextHolder; diff --git a/pigx-upms/pigx-upms-biz/src/main/java/com/pig4cloud/pigx/admin/service/impl/SysRoleMenuServiceImpl.java b/pigx-upms/pigx-upms-biz/src/main/java/com/pig4cloud/pigx/admin/service/impl/SysRoleMenuServiceImpl.java index 383abd920..6161a48ec 100644 --- a/pigx-upms/pigx-upms-biz/src/main/java/com/pig4cloud/pigx/admin/service/impl/SysRoleMenuServiceImpl.java +++ b/pigx-upms/pigx-upms-biz/src/main/java/com/pig4cloud/pigx/admin/service/impl/SysRoleMenuServiceImpl.java @@ -19,7 +19,6 @@ package com.pig4cloud.pigx.admin.service.impl; -import cn.hutool.core.collection.CollUtil; import cn.hutool.core.util.StrUtil; import com.baomidou.mybatisplus.mapper.EntityWrapper; import com.baomidou.mybatisplus.service.impl.ServiceImpl; diff --git a/pigx-visual/pigx-codegen/src/main/resources/template/Controller.java.vm b/pigx-visual/pigx-codegen/src/main/resources/template/Controller.java.vm index 48be1af48..cc4d4e978 100755 --- a/pigx-visual/pigx-codegen/src/main/resources/template/Controller.java.vm +++ b/pigx-visual/pigx-codegen/src/main/resources/template/Controller.java.vm @@ -1,8 +1,5 @@ package ${package}.${moduleName}.controller; -import java.util.Arrays; -import java.util.Map; - import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.*; import com.baomidou.mybatisplus.plugins.Page; From 02846103cd5f963e958a9260340112ca18532d57 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=86=B7=E5=86=B7?= Date: Mon, 29 Oct 2018 20:40:15 +0800 Subject: [PATCH 9/9] =?UTF-8?q?:recycle:=20=E9=87=8D=E6=9E=84=E4=BB=A3?= =?UTF-8?q?=E7=A0=81=E3=80=82=20gateway=20=E9=99=8D=E7=BA=A7=E8=8E=B7?= =?UTF-8?q?=E5=8F=96=E5=8E=9F=E8=AF=B7=E6=B1=82=20=EF=BC=8Cdocker-compose?= =?UTF-8?q?=E4=BC=98=E5=8C=96=EF=BC=8C=E6=97=A5=E5=BF=97=E4=BC=98=E5=8C=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- docker-compose.yml | 35 ------------------- .../src/main/resources/logback-spring.xml | 2 +- .../src/main/resources/logback-spring.xml | 4 +-- .../src/main/resources/logback-spring.xml | 2 +- .../handler/HystrixFallbackHandler.java | 9 ++++- 5 files changed, 12 insertions(+), 40 deletions(-) diff --git a/docker-compose.yml b/docker-compose.yml index 541bf014b..8426c5af2 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -5,14 +5,12 @@ services: ports: - 2181:2181 restart: always - container_name: pigx-zookeeper pigx-redis: image: redis:4.0.10 ports: - 6379:6379 restart: always - container_name: pigx-redis pigx-eureka: build: @@ -21,88 +19,56 @@ services: restart: always ports: - 1025:1025 - container_name: pigx-eureka pigx-config: - links: - - pigx-eureka build: context: ./ dockerfile: ./pigx-config/Dockerfile restart: always - container_name: pigx-config pigx-gateway: - links: - - pigx-eureka - - pigx-redis build: context: ./ dockerfile: ./pigx-gateway/Dockerfile restart: always ports: - 9999:9999 - container_name: pigx-gateway pigx-auth: - links: - - pigx-eureka - - pigx-redis build: context: ./ dockerfile: ./pigx-auth/Dockerfile restart: always - container_name: pigx-auth pigx-upms: - links: - - pigx-eureka - - pigx-redis - - pigx-gateway build: context: ./ dockerfile: ./pigx-upms/pigx-upms-biz/Dockerfile restart: always - container_name: pigx-upms pigx-monitor: - links: - - pigx-eureka - - pigx-redis build: context: ./ dockerfile: ./pigx-visual/pigx-monitor/Dockerfile restart: always ports: - 5001:5001 - container_name: pigx-monitor pigx-daemon: - links: - - pigx-eureka - - pigx-redis build: context: ./ dockerfile: ./pigx-visual/pigx-daemon/Dockerfile restart: always ports: - 5002:5002 - container_name: pigx-daemon pigx-codegen: - links: - - pigx-eureka - - pigx-redis build: context: ./ dockerfile: ./pigx-visual/pigx-codegen/Dockerfile restart: always - container_name: pigx-codegen pigx-tx-manager: - links: - - pigx-eureka - - pigx-redis build: context: ./ dockerfile: ./pigx-visual/pigx-tx-manager/Dockerfile @@ -110,4 +76,3 @@ services: ports: - 5004:5004 - 9998:9998 - container_name: pigx-tx-manager diff --git a/pigx-common/pigx-common-core/src/main/resources/logback-spring.xml b/pigx-common/pigx-common-core/src/main/resources/logback-spring.xml index 578b8c92e..74e81d81d 100644 --- a/pigx-common/pigx-common-core/src/main/resources/logback-spring.xml +++ b/pigx-common/pigx-common-core/src/main/resources/logback-spring.xml @@ -21,7 +21,7 @@ ${log.path}/debug.log - ${log.path}/%d{yyyy-MM}/debug.%d{yyyy-MM-dd}.%i.log.gz + ${log.path}/%d{yyyy-MM, aux}/debug.%d{yyyy-MM-dd}.%i.log.gz 50MB 30 diff --git a/pigx-config/src/main/resources/logback-spring.xml b/pigx-config/src/main/resources/logback-spring.xml index 578b8c92e..453ad895a 100644 --- a/pigx-config/src/main/resources/logback-spring.xml +++ b/pigx-config/src/main/resources/logback-spring.xml @@ -21,7 +21,7 @@ ${log.path}/debug.log - ${log.path}/%d{yyyy-MM}/debug.%d{yyyy-MM-dd}.%i.log.gz + ${log.path}/%d{yyyy-MM, aux}/debug.%d{yyyy-MM-dd}.%i.log.gz 50MB 30 @@ -34,7 +34,7 @@ ${log.path}/error.log - ${log.path}/%d{yyyy-MM}/error.%d{yyyy-MM-dd}.%i.log.gz + ${log.path}/%d{yyyy-MM, aux}/error.%d{yyyy-MM-dd}.%i.log.gz 50MB 30 diff --git a/pigx-eureka/src/main/resources/logback-spring.xml b/pigx-eureka/src/main/resources/logback-spring.xml index 578b8c92e..74e81d81d 100644 --- a/pigx-eureka/src/main/resources/logback-spring.xml +++ b/pigx-eureka/src/main/resources/logback-spring.xml @@ -21,7 +21,7 @@ ${log.path}/debug.log - ${log.path}/%d{yyyy-MM}/debug.%d{yyyy-MM-dd}.%i.log.gz + ${log.path}/%d{yyyy-MM, aux}/debug.%d{yyyy-MM-dd}.%i.log.gz 50MB 30 diff --git a/pigx-gateway/src/main/java/com/pig4cloud/pigx/gateway/handler/HystrixFallbackHandler.java b/pigx-gateway/src/main/java/com/pig4cloud/pigx/gateway/handler/HystrixFallbackHandler.java index ec3f15194..649cc8809 100644 --- a/pigx-gateway/src/main/java/com/pig4cloud/pigx/gateway/handler/HystrixFallbackHandler.java +++ b/pigx-gateway/src/main/java/com/pig4cloud/pigx/gateway/handler/HystrixFallbackHandler.java @@ -27,6 +27,10 @@ import org.springframework.web.reactive.function.server.ServerRequest; import org.springframework.web.reactive.function.server.ServerResponse; import reactor.core.publisher.Mono; +import java.util.Optional; + +import static org.springframework.cloud.gateway.support.ServerWebExchangeUtils.GATEWAY_ORIGINAL_REQUEST_URL_ATTR; + /** * @author lengleng * @date 2018/7/5 @@ -37,7 +41,10 @@ import reactor.core.publisher.Mono; public class HystrixFallbackHandler implements HandlerFunction { @Override public Mono handle(ServerRequest serverRequest) { - log.error("网关执行请求:{}失败,hystrix服务降级处理", serverRequest.uri()); + Optional originalUris = serverRequest.attribute(GATEWAY_ORIGINAL_REQUEST_URL_ATTR); + + originalUris.ifPresent(originalUri -> log.error("网关执行请求:{}失败,hystrix服务降级处理", originalUri)); + return ServerResponse.status(HttpStatus.INTERNAL_SERVER_ERROR.value()) .contentType(MediaType.TEXT_PLAIN).body(BodyInserters.fromObject("服务异常")); }