diff --git a/Jenkinsfile b/Jenkinsfile index 9bb8b42..0e1444c 100644 --- a/Jenkinsfile +++ b/Jenkinsfile @@ -68,7 +68,6 @@ pipeline { --name \${CONTAINER_NAME} \ --network sczx-net \ -p 8081:8081 \ - -e SPRING_PROFILES_ACTIVE=test \ -e JAVA_OPTS="-Xms256m -Xmx512m -Duser.timezone=Asia/Shanghai" \ -e TZ=Asia/Shanghai \ -v /etc/localtime:/etc/localtime:ro \ diff --git a/pom.xml b/pom.xml index d155fa1..623b650 100644 --- a/pom.xml +++ b/pom.xml @@ -75,6 +75,11 @@ spring-cloud-starter-alibaba-nacos-discovery + + com.alibaba.cloud + spring-cloud-starter-alibaba-nacos-config + + org.springframework.boot spring-boot-starter-validation diff --git a/src/main/java/com/sczx/user/aspect/FacadeAspect.java b/src/main/java/com/sczx/user/aspect/FacadeAspect.java new file mode 100644 index 0000000..3699133 --- /dev/null +++ b/src/main/java/com/sczx/user/aspect/FacadeAspect.java @@ -0,0 +1,58 @@ +package com.sczx.user.aspect; + +import com.alibaba.fastjson.JSON; +import lombok.extern.slf4j.Slf4j; +import org.aspectj.lang.JoinPoint; +import org.aspectj.lang.ProceedingJoinPoint; +import org.aspectj.lang.annotation.Around; +import org.aspectj.lang.annotation.Aspect; +import org.aspectj.lang.annotation.Before; +import org.aspectj.lang.annotation.Pointcut; +import org.springframework.stereotype.Component; + +/** + * @Author Huang Kai + * @Date 2023/1/18 17:01 + * @Version 1.0 + */ +@Aspect +@Component +@Slf4j +public class FacadeAspect { + + + + /** 以 controller 包下定义的所有请求为切入点 */ + @Pointcut("execution(public * com..facade.*.*(..))") + public void facadeLog() {} + + /** + * 在切点之前织入 + * @param joinPoint + */ + @Before("facadeLog()") + public void doBefore(JoinPoint joinPoint) { + // 打印请求相关参数 + log.info("=========================remote Start ========================="); + // 打印 Http method + //log.info("HTTP Method : {}", request.getMethod()); + // 打印调用 controller 的全路径以及执行方法 + log.info("Class Method:{}.{}", joinPoint.getSignature().getDeclaringTypeName(), joinPoint.getSignature().getName()); + // 打印请求的 IP + //log.info("IP : {}", request.getRemoteAddr()); + // 打印请求入参 + log.info("facadeAspect_Request:{}", JSON.toJSONString(joinPoint.getArgs())); + } + + @Around("facadeLog()") + public Object doAround(ProceedingJoinPoint proceedingJoinPoint) throws Throwable { + long startTime = System.currentTimeMillis(); + Object result = proceedingJoinPoint.proceed(); + // 打印出参 + log.info("facadeAspect_Response:{}", JSON.toJSONString(result)); + // 执行耗时 + log.info("Time-Consuming : {} ms", System.currentTimeMillis() - startTime); + log.info("=========================remote End ========================="); + return result; + } +} \ No newline at end of file diff --git a/src/main/resources/application-local.yml b/src/main/resources/application-local.yml index 529fe23..e63255f 100644 --- a/src/main/resources/application-local.yml +++ b/src/main/resources/application-local.yml @@ -1,33 +1,4 @@ #本地开发 -spring: - cloud: - nacos: - discovery: - server-addr: 115.190.8.52:8848 # Nacos 地址 - group: DEFAULT_GROUP - metadata: - version: 1.0.0 - env: dev - - datasource: - url: jdbc:mysql://115.190.8.52:3306/sczx?useSSL=false&serverTimezone=UTC&allowPublicKeyRetrieval=true - username: sczx_user - password: Sczx123@ - driver-class-name: com.mysql.cj.jdbc.Driver - hikari: - maximum-pool-size: 10 - auto-commit: true - redis: - host: 115.190.8.52 - port: 6379 - lettuce: - pool: - max-active: 8 - max-wait: 2000ms - max-idle: 4 - min-idle: 1 - max-life-time: 300000ms - sczx-sync: ribbon: listOfServers: http://115.190.8.52:8016 \ No newline at end of file diff --git a/src/main/resources/application-test.yml b/src/main/resources/application-test.yml index 98a9064..2de50eb 100644 --- a/src/main/resources/application-test.yml +++ b/src/main/resources/application-test.yml @@ -1,33 +1 @@ #远程测试部署 -spring: - cloud: - nacos: - discovery: - server-addr: 115.190.8.52:8848 # Nacos 地址 - group: DEFAULT_GROUP - metadata: - version: 1.0.0 - env: dev - datasource: - url: jdbc:mysql://115.190.8.52:3306/sczx?useSSL=false&serverTimezone=UTC&allowPublicKeyRetrieval=true - username: sczx_user - password: Sczx123@ - driver-class-name: com.mysql.cj.jdbc.Driver - hikari: - maximum-pool-size: 20 # 最大连接数 - minimum-idle: 5 # 最小空闲连接数 - connection-timeout: 30000 # 连接超时时间(毫秒) - idle-timeout: 600000 # 空闲连接超时时间(毫秒) - max-lifetime: 1800000 # 连接最大存活时间(毫秒) - leak-detection-threshold: 60000 # 连接泄漏检测阈值(毫秒) - auto-commit: true - redis: - host: 115.190.8.52 - port: 6379 - lettuce: - pool: - max-active: 8 - max-wait: 2000ms - max-idle: 4 - min-idle: 1 - max-life-time: 300000ms \ No newline at end of file diff --git a/src/main/resources/application.yml b/src/main/resources/application.yml index b1fe503..054415c 100644 --- a/src/main/resources/application.yml +++ b/src/main/resources/application.yml @@ -1,57 +1,7 @@ -server: - port: 8081 - spring: application: name: sczx-user # 微服务名称 - http: - encoding: - charset: UTF-8 - enabled: true - force: true - mvc: - async: - request-timeout: -1 -# -# cloud: -# nacos: -# discovery: -# server-addr: 115.190.8.52:8848 # Nacos 地址 -# group: DEFAULT_GROUP -# metadata: -# version: 1.0.0 -# env: dev - - - lifecycle: - timeout-per-shutdown-phase: 30s # 设置优雅停机时间 - -management: - endpoints: - web: - exposure: - include: "*" # 暴露所有监控端点 - endpoint: - health: - show-details: always - -feign: - client: - config: - default: - connectTimeout: 5000 - readTimeout: 5000 - hystrix: - enabled: true # 启用 Feign 的 Hystrix 支持 - -hystrix: - command: - default: - execution: - isolation: - thread: - timeoutInMilliseconds: 10000 # 默认熔断超时时间 mybatis-plus: mapper-locations: classpath*:mapper/**/*.xml @@ -60,31 +10,5 @@ mybatis-plus: mapUnderscoreToCamelCase: true log-impl: org.apache.ibatis.logging.stdout.StdOutImpl # 控制台打印 SQL(调试用) -auth: - secret-key: his-is-a-very-long-and-secure-secret-key-for-jwt-signing-please-dont-use-short-keys - token-expiration: 86400000 # 24小时 - -wechat: - miniapp: - apiurl: https://api.weixin.qq.com - appid: wx25e1ad1a70c326de - secret: e0633b08d915a844f7ae7e4495d9e854 - grantType: authorization_code - -alipay: - miniapp: - appid: 2021005174658269 - privateKey: MIIEvwIBADANBgkqhkiG9w0BAQEFAASCBKkwggSlAgEAAoIBAQCQke+mZsxNXJXMn2iUZRkhITWY9qPczwHMgRxl68JRuNzZE2AXhAc2ciF7EGob1y0al4hvJo5JUrDew9Zkv0BocAsPjLma3A9KFgj131xMuLxVvHtktkNSwwW9VIbOOhFAQAy3J9jt8PdEk40UONyu9J5Shjs6jbQ8RogdDuwuzKpNj0ZOTeUqgR6RME4xZ0VqvZe9XhVfq3QtVGttUzOpLPNg6boBy/5RqwC64lVFICMqjKkMW2NklVPBDFO46QwfWEbaA+APnd9bd+9WadyNySPb7kAK8GOlvZYfysy+QkOQdj/oebKWKzdKXpFnF+n52dYzeGTvckt1suDngwAFAgMBAAECggEAcPc39iTZe5HfE9d0FpCxBCw4/1+qRz4SP8SbdiC05Lq5B36WVYm7QRYJh2oaH8sR2XeTCpdsE2tj/Y21l1/Calkyq2HhHlraL5/sPIPeUa0ArVXsbZPmI2N0tq6376l8FWJ3DR876SGjdZh+YtDT0HogxIdS/LwBnB/Y+CvS7fWcqiMjcR4h28RU70CQqxpzYuPfqG6GZmByGyJAcdlhFAYgiksb+qZnkjoaKHsjb61xfUX4z+HGdQLqOlVKfNqIpiO7arXaeAb0RQiB8Lqi7fBvn8LLhlTmM1Hr4gyQO14lJmP5Vp2BIg9m5AC9vRkpZ9l79bUTIepDe9+Ovcx5eQKBgQDWZ5yoz8q8Z5VIfMSVTHO3wpfwOBM92S2c21hTsds7NezsMVqGcTuAcvbMW2i1MwxtS7kahXraRAxZnCDB9ZVJs+88xcgu5QJWZ1rJyrwEwB2gTQhColv+XZW6Ck/J6kk2/PG26rNQG6pg/xrKaMtPnXXyKCsdQTyEpr+mlNIJ2wKBgQCsnf4lIuwftCSm0jI73tO1Bb4U9TCIapKidnIhutbyg6u+hJMUTVDNkjsBnrTN24sSP7Cu4Zs/W4lkDqq86fHNEvnF+FouIfO/CwaGteDBNwXHSLM0D+zEBbK04bfoYi7lYZeDRPygFrM49Sxkp0MAmItDmXqbYRQBlhN1XVzznwKBgQCQ+72fFex1XOJBA0X345v4rlkKMxEn6J2EjXr8FbA3KO8OhQ0/DoD7CkLDzChRJ7UGj4cbXRnHUO69BevM3SHXlhp4ERKeS3Q6M2fcPwDHgZZHGPA2Bw6IQoaGKITt+EUMLx3Q4ILi7+JV9wwJxbV+H+9rEiidfsjKtuuwXMBvswKBgQChpElrCSrH/W8c8FSuD9l7+GapRXkvJW0uyW/S+h1yd66J96erKUNzXW339GAnLWErs4yGFynDyLn9gmaMBR6zBQP0SL5Z2N1hlreDyikvhZDZrtBw/kCexx8zlvMan2Z+0kaJXD6cwuUNfzkVADQUCMTQhpZzjhKn8ZtDGiyCzQKBgQCAhU0khG/ufZfQ089+1G7PAlErBr5MQaG40a2vfIWGtHkYyXq5N/3jow1bd2qsyLuz8mr2sWQeURK+B2xZridf6JtYz3gB+dLw0frlLKk4Q6jeehiRlE8H8tIYe/7KcgTmdIzEbo3lmyGMFAILvr/pSCWeUehQYR9PH91Qyi+Tog== -# publicKey: MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEArPG4JQ9YY9+tOeImQO0eNkp+NZkenJ9hMHEVVmwAHAI5BoJMCLvAm504BXSpgpqaiCJ6ARTwBkiDz4dyCMVfE3VE8+oMFtXqfHaZLhfd+X9VQNqRCz0HeR2IbjGnnbYxQOAEOM6z092UfNieG00HyU5yREfzjJkIcyuGeGgbIBG1gPpLhXsQKRhQYqp4Exgd4LX6qnKLPL90kJVkQnHcJkp+rCoQ5zS6ZUXE2d/2GzY7xi93uTU2CLMiZ7Vi2OZ1g7xY+yDQzTA/CseveJeW3rM6T8yBjlEJwsywEL5co3YqpJUIMIe/fLjhRRgj+JUq5w0sRqb3+CswQHIjgc71QwIDAQAB - appCertPath: /app/ali/cert/appCertPublicKey_2021005174658269.crt - alipayCertPath: /app/ali/cert/alipayCertPublicKey_RSA2.crt - alipayRootCertPath: /app/ali/cert/alipayRootCert.crt - gatewayUrl: https://openapi.alipay.com/gateway.do - decryptKey: +MXY7LF6TPih7jf7AmtC2g== - format: JSON - charset: UTF-8 - signType: RSA2 - encryptType: AES - dataPush: sendAddUserUrl: http://115.190.8.52:8016/send/userinfo/ \ No newline at end of file diff --git a/src/main/resources/bootstrap.yml b/src/main/resources/bootstrap.yml new file mode 100644 index 0000000..216d703 --- /dev/null +++ b/src/main/resources/bootstrap.yml @@ -0,0 +1,15 @@ +spring: + application: + name: sczx-user # 应用名称,对应 Nacos 配置的 dataId + cloud: + nacos: + server-addr: 115.190.8.52:8848 # Nacos 服务器地址 + config: + group: DEFAULT_GROUP # 配置分组 + file-extension: yaml # 配置文件格式 + timeout: 5000 # 配置读取超时时间 + # 添加共享配置 + shared-configs: + - data-id: shared-config.yaml + group: DEFAULT_GROUP + refresh: true # 是否支持动态刷新 \ No newline at end of file