1.项目结构
2.父模块分析
pom.xml:
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns="http://maven.apache.org/POM/4.0.0"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<parent>
<groupId>com.pig4cloud</groupId>
<artifactId>pig-cloud-dependencies-parent</artifactId>
<version>3.1.1</version>
</parent>
<groupId>com.pig4cloud</groupId>
<artifactId>pig</artifactId>
<version>3.1.1</version>
<name>${project.artifactId}</name>
<packaging>pom</packaging>
<url>https://www.pig4cloud.com</url>
<properties>
<redisson-spring-boot-starter.version>3.15.4</redisson-spring-boot-starter.version>
<tinypinyin.version>2.0.3.RELEASE</tinypinyin.version>
<commons-net.version>3.8.0</commons-net.version>
<yaml.version>1.28</yaml.version>
<nginxparser.version>0.9.6</nginxparser.version>
<bcpkix-jdk15to18.version>1.68</bcpkix-jdk15to18.version>
<metadata-extractor.version>2.16.0</metadata-extractor.version>
<spring-boot.version>2.4.4</spring-boot.version>
<spring-cloud.version>2020.0.2</spring-cloud.version>
<spring-cloud-alibaba.version>2021.1</spring-cloud-alibaba.version>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<maven.compiler.source>1.8</maven.compiler.source>
<maven.compiler.target>1.8</maven.compiler.target>
<spring-boot-admin.version>2.3.1</spring-boot-admin.version>
<hutool.version>5.6.3</hutool.version>
<mybatis-plus.version>3.4.2</mybatis-plus.version>
<dynamic-ds.version>3.3.2</dynamic-ds.version>
<captcha.version>2.2.0</captcha.version>
<velocity.version>1.7</velocity.version>
<configuration.version>1.10</configuration.version>
<nacos.version>2.0.0</nacos.version>
<jasypt.version>2.1.0</jasypt.version>
<knife4j.version>3.0.2</knife4j.version>
<xxl-job.version>2.3.0</xxl-job.version>
<docker.plugin.version>0.36.1</docker.plugin.version>
<docker.host>http://192.168.7.206:2375</docker.host>
<docker.registry>http://47.106.103.68:5005</docker.registry>
<docker.namespace>rbs_mc3</docker.namespace>
<docker.username>admin</docker.username>
<docker.password>Harbor12345</docker.password>
<transmittable-thread-local.version>2.12.1</transmittable-thread-local.version>
<excel-spring-boot-starter.version>0.4.1</excel-spring-boot-starter.version>
<oshi.version>5.7.5</oshi.version>
<mica-core.version>2.5.2</mica-core.version>
<dom4j.version>2.1.3</dom4j.version>
<cxf.version>3.4.3</cxf.version>
<idempotent-spring-boot-starter.version>0.0.4</idempotent-spring-boot-starter.version>
<log4j2.version>2.15.0</log4j2.version>
</properties>
<dependencies>
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-bootstrap</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-configuration-processor</artifactId>
<optional>true</optional>
</dependency>
<dependency>
<groupId>com.github.ulisesbocchio</groupId>
<artifactId>jasypt-spring-boot-starter</artifactId>
<version>${jasypt.version}</version>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-actuator</artifactId>
</dependency>
<dependency>
<groupId>de.codecentric</groupId>
<artifactId>spring-boot-admin-starter-client</artifactId>
<version>${spring-boot-admin.version}</version>
</dependency>
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope>
</dependency>
</dependencies>
<modules>
<module>pig-register</module>
<module>pig-gateway</module>
<module>pig-auth</module>
<module>pig-upms</module>
<module>pig-common</module>
<module>pig-visual</module>
<module>mc-inner-conn</module>
<module>mc-res-center</module>
<module>mc-edu</module>
<module>mc-out-tran</module>
<module>mc-auth-third</module>
<module>mc-file</module>
</modules>
<dependencyManagement>
<dependencies>
<dependency>
<groupId>com.pig4cloud</groupId>
<artifactId>mc-common-swagger</artifactId>
<version>${project.version}</version>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-dependencies</artifactId>
<version>${spring-boot.version}</version>
<type>pom</type>
<scope>import</scope>
</dependency>
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-dependencies</artifactId>
<version>${spring-cloud.version}</version>
<type>pom</type>
<scope>import</scope>
</dependency>
<dependency>
<groupId>com.alibaba.cloud</groupId>
<artifactId>spring-cloud-alibaba-dependencies</artifactId>
<version>${spring-cloud-alibaba.version}</version>
<type>pom</type>
<scope>import</scope>
</dependency>
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>transmittable-thread-local</artifactId>
<version>${transmittable-thread-local.version}</version>
</dependency>
<dependency>
<groupId>com.pig4cloud.excel</groupId>
<artifactId>excel-spring-boot-starter</artifactId>
<version>${excel-spring-boot-starter.version}</version>
</dependency>
<dependency>
<groupId>net.dreamlu</groupId>
<artifactId>mica-core</artifactId>
<version>${mica-core.version}</version>
</dependency>
<dependency>
<groupId>net.dreamlu</groupId>
<artifactId>mica-xss</artifactId>
<version>${mica-core.version}</version>
</dependency>
<dependency>
<groupId>org.dom4j</groupId>
<artifactId>dom4j</artifactId>
<version>${dom4j.version}</version>
</dependency>
<dependency>
<groupId>org.apache.cxf</groupId>
<artifactId>cxf-rt-transports-http</artifactId>
<version>${cxf.version}</version>
<exclusions>
<exclusion>
<artifactId>spring-web</artifactId>
<groupId>org.springframework</groupId>
</exclusion>
</exclusions>
</dependency>
<dependency>
<groupId>org.apache.cxf</groupId>
<artifactId>cxf-rt-frontend-jaxws</artifactId>
<version>${cxf.version}</version>
<exclusions>
<exclusion>
<artifactId>wstx-asl</artifactId>
<groupId>org.codehaus.woodstox</groupId>
</exclusion>
</exclusions>
</dependency>
<dependency>
<groupId>com.pig4cloud.plugin</groupId>
<artifactId>idempotent-spring-boot-starter</artifactId>
<version>${idempotent-spring-boot-starter.version}</version>
</dependency>
<dependency>
<groupId>org.redisson</groupId>
<artifactId>redisson-spring-boot-starter</artifactId>
<version>${redisson-spring-boot-starter.version}</version>
<exclusions>
<exclusion>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</exclusion>
</exclusions>
</dependency>
<dependency>
<groupId>io.github.biezhi</groupId>
<artifactId>TinyPinyin</artifactId>
<version>${tinypinyin.version}</version>
</dependency>
<dependency>
<groupId>commons-net</groupId>
<artifactId>commons-net</artifactId>
<version>${commons-net.version}</version>
</dependency>
<dependency>
<groupId>org.yaml</groupId>
<artifactId>snakeyaml</artifactId>
<version>${yaml.version}</version>
</dependency>
<dependency>
<groupId>com.github.odiszapc</groupId>
<artifactId>nginxparser</artifactId>
<version>${nginxparser.version}</version>
</dependency>
<dependency>
<groupId>org.bouncycastle</groupId>
<artifactId>bcpkix-jdk15to18</artifactId>
<version>${bcpkix-jdk15to18.version}</version>
</dependency>
<dependency>
<groupId>com.drewnoakes</groupId>
<artifactId>metadata-extractor</artifactId>
<version>${metadata-extractor.version}</version>
</dependency>
<dependency>
<groupId>org.apache.logging.log4j</groupId>
<artifactId>log4j-api</artifactId>
<version>${log4j2.version}</version>
</dependency>
<dependency>
<groupId>org.apache.logging.log4j</groupId>
<artifactId>log4j-to-slf4j</artifactId>
<version>${log4j2.version}</version>
</dependency>
</dependencies>
</dependencyManagement>
<build>
<finalName>${project.name}</finalName>
<resources>
<resource>
<directory>src/main/resources</directory>
<filtering>true</filtering>
</resource>
</resources>
<pluginManagement>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
<version>${spring-boot.version}</version>
<executions>
<execution>
<id>repackage</id>
<goals>
<goal>repackage</goal>
</goals>
<phase>package</phase>
<configuration>
<finalName>${project.build.finalName}</finalName>
<layers>
<enabled>true</enabled>
</layers>
</configuration>
</execution>
</executions>
</plugin>
<plugin>
<groupId>io.fabric8</groupId>
<artifactId>docker-maven-plugin</artifactId>
<version>${docker.plugin.version}</version>
<configuration>
<dockerHost>${docker.host}</dockerHost>
<pushRegistry>${docker.registry}</pushRegistry>
<authConfig>
<push>
<username>${docker.username}</username>
<password>${docker.password}</password>
</push>
</authConfig>
<images>
<image>
<name>47.106.103.68:5005/${docker.namespace}/${project.name}:latest</name>
<build>
<noCache>true</noCache>
<dockerFileDir>${project.basedir}</dockerFileDir>
</build>
</image>
</images>
</configuration>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-assembly-plugin</artifactId>
<inherited>false</inherited>
<configuration>
<finalName>${project.name}</finalName>
<descriptors>
<descriptor>${project.basedir}/assembly/assembly.xml</descriptor>
</descriptors>
</configuration>
<executions>
<execution>
<id>make-assembly</id>
<phase>package</phase>
<goals>
<goal>single</goal>
</goals>
</execution>
</executions>
</plugin>
</plugins>
</pluginManagement>
<plugins>
<plugin>
<groupId>io.fabric8</groupId>
<artifactId>docker-maven-plugin</artifactId>
<configuration>
<skip>true</skip>
</configuration>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-resources-plugin</artifactId>
<version>2.5</version>
<configuration>
<encoding>UTF-8</encoding>
<nonFilteredFileExtensions>
<nonFilteredFileExtension>xlsx</nonFilteredFileExtension>
<nonFilteredFileExtension>xls</nonFilteredFileExtension>
</nonFilteredFileExtensions>
</configuration>
</plugin>
</plugins>
</build>
<profiles>
<profile>
<id>dev</id>
<properties>
<profiles.active>dev</profiles.active>
</properties>
<activation>
<activeByDefault>true</activeByDefault>
</activation>
</profile>
</profiles>
</project>
docker-compose.yml:
version: '2.1'
services:
pig-mysql:
build:
context: ./db
environment:
- MYSQL_ROOT_PASSWORD=linux
- TZ=Asia/Shanghai
- LANG=C.UTF-8
restart: always
container_name: pig-mysql
hostname: pig-mysql
image: pig-mysql
ports:
- 3306:3306
volumes:
- ./db/my.cnf:/etc/mysql/my.cnf
ulimits:
nproc: 65535
nofile:
soft: 65536
hard: 65536
network_mode: host
healthcheck:
test: [ "CMD", "mysql", "-u", "root", "-plinux", "-e", "select count(*) from mc.area_code" ]
interval: 15s
timeout: 10s
retries: 5
pig-redis:
image: redis:6.0
environment:
- TZ=Asia/Shanghai
- LANG=C.UTF-8
ports:
- 6379:6379
command: redis-server --requirepass fsmeeting0229 --appendonly yes
restart: always
container_name: pig-redis
hostname: pig-redis
network_mode: host
healthcheck:
test: [ "CMD", "redis-cli","-a","fsmeeting0229","ping" ]
interval: 5s
timeout: 5s
retries: 10
mc-rabbitmq:
image: rabbitmq:3.8.3-management
container_name: mc-rabbitmq
restart: always
hostname: mc-myRabbitmq
ports:
- 15672:15672
- 5672:5672
volumes:
- ./data:/var/lib/rabbitmq
environment:
- RABBITMQ_DEFAULT_USER=developer
- RABBITMQ_DEFAULT_PASS=hsteduteam
- TZ=Asia/Shanghai
- LANG=C.UTF-8
network_mode: host
healthcheck:
test: [ "CMD", "rabbitmq-diagnostics","-q" ,"ping" ]
interval: 30s
timeout: 10s
retries: 5
pig-register:
environment:
- TZ=Asia/Shanghai
- LANG=C.UTF-8
- MYSQL_HOST=pig-mysql
- MYSQL_PORT=3306
- MYSQL-USER=root
- MYSQL-PWD=linux
build:
context: ./pig-register
restart: always
ports:
- 8848:8848
container_name: pig-register
hostname: pig-register
image: pig-register
network_mode: host
depends_on:
pig-mysql:
condition: service_healthy
pig-redis:
condition: service_healthy
mc-rabbitmq:
condition: service_healthy
healthcheck:
test: "/bin/netstat -anp | grep 8848"
interval: 10s
timeout: 10s
retries: 10
pig-gateway:
environment:
- TZ=Asia/Shanghai
- LANG=C.UTF-8
build:
context: ./pig-gateway
restart: always
ports:
- 9999:9999
container_name: pig-gateway
hostname: pig-gateway
image: pig-gateway
network_mode: host
depends_on:
pig-register:
condition: service_healthy
pig-auth:
environment:
- TZ=Asia/Shanghai
- LANG=C.UTF-8
build:
context: ./pig-auth
restart: always
container_name: pig-auth
hostname: pig-auth
image: pig-auth
network_mode: host
depends_on:
pig-register:
condition: service_healthy
pig-monitor:
environment:
- TZ=Asia/Shanghai
- LANG=C.UTF-8
build:
context: ./pig-visual/pig-monitor
restart: always
ports:
- 5001:5001
container_name: pig-monitor
hostname: pig-monitor
image: pig-monitor
network_mode: host
depends_on:
pig-register:
condition: service_healthy
pig-sentinel:
environment:
- TZ=Asia/Shanghai
- LANG=C.UTF-8
build:
context: ./pig-visual/pig-sentinel-dashboard
restart: always
image: pig-sentinel
container_name: pig-sentinel
ports:
- 5003:5003
network_mode: host
depends_on:
pig-register:
condition: service_healthy
pig-job:
environment:
- TZ=Asia/Shanghai
- LANG=C.UTF-8
- MYSQL_HOST=pig-mysql
- MYSQL_PORT=3306
- MYSQL-USER=root
- MYSQL-PWD=linux
build:
context: ./pig-visual/pig-xxl-job-admin
restart: always
container_name: pig-job
hostname: pig-job
image: pig-job
ports:
- 5004:5004
network_mode: host
depends_on:
pig-register:
condition: service_healthy
healthcheck:
test: "/bin/netstat -anp | grep 5004"
interval: 30s
timeout: 10s
retries: 10
pig-upms-biz:
environment:
- TZ=Asia/Shanghai
- LANG=C.UTF-8
build:
context: ./pig-upms/pig-upms-biz
restart: always
container_name: pig-upms-biz
hostname: pig-upms-biz
image: pig-upms-biz
network_mode: host
depends_on:
pig-register:
condition: service_healthy
pig-job:
condition: service_healthy
mc-competence-biz:
environment:
- TZ=Asia/Shanghai
- LANG=C.UTF-8
build:
context: ./mc-inner-conn/mc-competence/mc-competence-biz
restart: always
container_name: mc-competence-biz
hostname: mc-competence-biz
image: mc-competence-biz
network_mode: host
depends_on:
pig-register:
condition: service_healthy
pig-job:
condition: service_healthy
mc-conference-biz:
environment:
- TZ=Asia/Shanghai
- LANG=C.UTF-8
build:
context: ./mc-inner-conn/mc-conference/mc-conference-biz
restart: always
container_name: mc-conference-biz
hostname: mc-conference-biz
image: mc-conference-biz
network_mode: host
depends_on:
pig-register:
condition: service_healthy
pig-job:
condition: service_healthy
mc-terminal-biz:
environment:
- TZ=Asia/Shanghai
- LANG=C.UTF-8
build:
context: ./mc-inner-conn/mc-terminal/mc-terminal-biz
restart: always
container_name: mc-terminal-biz
hostname: mc-terminal-biz
image: mc-terminal-biz
network_mode: host
depends_on:
pig-register:
condition: service_healthy
pig-job:
condition: service_healthy
mc-label-biz:
environment:
- TZ=Asia/Shanghai
- LANG=C.UTF-8
build:
context: ./mc-res-center/mc-label/mc-label-biz
restart: always
container_name: mc-label-biz
hostname: mc-label-biz
image: mc-label-biz
network_mode: host
depends_on:
pig-register:
condition: service_healthy
pig-job:
condition: service_healthy
mc-rescenter-biz:
environment:
- TZ=Asia/Shanghai
- LANG=C.UTF-8
build:
context: ./mc-res-center/mc-rescenter-biz
restart: always
container_name: mc-rescenter-biz
hostname: mc-rescenter-biz
image: mc-rescenter-biz
network_mode: host
depends_on:
pig-register:
condition: service_healthy
pig-job:
condition: service_healthy
mc-file-biz:
environment:
- TZ=Asia/Shanghai
- LANG=C.UTF-8
build:
context: ./mc-file/mc-file-biz
restart: always
container_name: mc-file-biz
hostname: mc-file-biz
image: mc-file-biz
volumes:
- /fsmeeting/mc-file/Resource:/Resource
network_mode: host
depends_on:
pig-register:
condition: service_healthy
pig-job:
condition: service_healthy
mc-research-biz:
environment:
- TZ=Asia/Shanghai
- LANG=C.UTF-8
build:
context: ./mc-edu/mc-research/mc-research-biz
restart: always
container_name: mc-research-biz
hostname: mc-research-biz
image: mc-research-biz
network_mode: host
depends_on:
pig-register:
condition: service_healthy
pig-job:
condition: service_healthy
mc-cms-biz:
environment:
- TZ=Asia/Shanghai
- LANG=C.UTF-8
build:
context: ./mc-edu/mc-cms/mc-cms-biz
restart: always
container_name: mc-cms-biz
hostname: mc-cms-biz
image: mc-cms-biz
ports:
- 6001:6001
network_mode: host
depends_on:
pig-register:
condition: service_healthy
pig-job:
condition: service_healthy
mc-auth-third-biz:
environment:
- TZ=Asia/Shanghai
- LANG=C.UTF-8
build:
context: ./mc-auth-third/mc-auth-third-biz
restart: always
container_name: mc-auth-third-biz
hostname: mc-auth-third-biz
image: mc-auth-third-biz
network_mode: host
depends_on:
pig-register:
condition: service_healthy
pig-job:
condition: service_healthy
mc-yn-standard-biz:
environment:
- TZ=Asia/Shanghai
- LANG=C.UTF-8
build:
context: ./mc-out-tran/mc-yn-standard/mc-yn-standard-biz
restart: always
container_name: mc-yn-standard-biz
hostname: mc-yn-standard-biz
image: mc-yn-standard-biz
network_mode: host
depends_on:
pig-register:
condition: service_healthy
pig-job:
condition: service_healthy
mc-websocket-biz:
environment:
- TZ=Asia/Shanghai
- LANG=C.UTF-8
build:
context: ./mc-inner-conn/mc-websocket/mc-websocket-biz
restart: always
container_name: mc-websocket-biz
hostname: mc-websocket-biz
image: mc-websocket-biz
network_mode: host
depends_on:
pig-register:
condition: service_healthy
pig-job:
condition: service_healthy
这里父工程的docker文件相当于把其他子工程中有dockerfile文件打包的全部包含进来,执行更新的时候docker-compose up -d可以将每个子工程的打包的镜像全部更新。
3.db模块分析
里面放的都是数据库脚本,基础脚本以及增量脚本。 dockerfile:
FROM mysql:5.7.34
CMD [ "--max_connections=2000" ]
MAINTAINER lengleng(wangiegie@gmail.com)
ENV TZ=Asia/Shanghai
RUN ln -sf /usr/share/zoneinfo/$TZ /etc/localtime && echo $TZ > /etc/timezone
COPY ./6.0.1 /docker-entrypoint-initdb.d/
COPY ./6.1.1 /docker-entrypoint-initdb.d/
COPY ./6.1.2 /docker-entrypoint-initdb.d/
COPY ./6.2.0 /docker-entrypoint-initdb.d/
COPY ./xdf /docker-entrypoint-initdb.d/
my.cnf:
[mysql]
default-character-set=utf8
[mysqld]
max_connections=2000
4.mc-auth-third模块分析
pom.xml:
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<parent>
<artifactId>pig</artifactId>
<groupId>com.pig4cloud</groupId>
<version>3.1.1</version>
</parent>
<modelVersion>4.0.0</modelVersion>
<artifactId>mc-auth-third</artifactId>
<packaging>pom</packaging>
<modules>
<module>mc-auth-third-biz</module>
<module>mc-auth-third-api</module>
</modules>
<properties>
<maven.compiler.source>8</maven.compiler.source>
<maven.compiler.target>8</maven.compiler.target>
</properties>
</project>
RemoteAuthThirdService:
package com.hst.mc.third.api.feign;
import com.hst.mc.third.api.feign.factory.RemoteAuthThirdServiceFallbackFactory;
import com.pig4cloud.pig.common.core.constant.SecurityConstants;
import com.pig4cloud.pig.common.core.constant.ServiceNameConstants;
import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RequestHeader;
import org.springframework.web.bind.annotation.RequestParam;
@FeignClient(
contextId = "remoteAuthThirdService",
value = ServiceNameConstants.AUTH_THIRD_SERVICE, #指定被调用的模块名
fallbackFactory = RemoteAuthThirdServiceFallbackFactory.class,
path = "/oauth")
public interface RemoteAuthThirdService {
@GetMapping(value = "/getThirdUniqueString/{type}")
String getThirdUniqueString(@PathVariable(value = "type") String type,
@RequestParam("accessCode") String accessCode,
@RequestHeader(SecurityConstants.FROM) String from);
}
RemoteAuthThirdServiceFallbackImpl:
package com.hst.mc.third.api.feign.fallback;
import cn.hutool.core.util.StrUtil;
import com.hst.mc.third.api.feign.RemoteAuthThirdService;
import lombok.Setter;
import lombok.extern.slf4j.Slf4j;
import org.springframework.stereotype.Component;
@Slf4j
@Component
public class RemoteAuthThirdServiceFallbackImpl implements RemoteAuthThirdService {
@Setter
private Throwable cause;
@Override
public String getThirdUniqueString(String type, String accessCode, String from) {
log.error("获取第三方唯一值失败", cause);
return StrUtil.EMPTY;
}
}
RemoteAuthThirdServiceFallbackFactory:
package com.hst.mc.third.api.feign.factory;
import com.hst.mc.third.api.feign.RemoteAuthThirdService;
import com.hst.mc.third.api.feign.fallback.RemoteAuthThirdServiceFallbackImpl;
import org.springframework.cloud.openfeign.FallbackFactory;
import org.springframework.stereotype.Component;
@Component
public class RemoteAuthThirdServiceFallbackFactory implements FallbackFactory<RemoteAuthThirdService> {
@Override
public RemoteAuthThirdService create(Throwable throwable) {
RemoteAuthThirdServiceFallbackImpl remoteAuthThirdServiceFallback = new RemoteAuthThirdServiceFallbackImpl();
remoteAuthThirdServiceFallback.setCause(throwable);
return remoteAuthThirdServiceFallback;
}
}
熔断工厂学习
mc-auth-third-biz是oauth2的配置相关等。
|