ソースを参照

update version
remove zuul
add spring gateway

Mr.qian 2 日 前
コミット
28103fc80b

+ 86 - 26
cif-service/pom.xml

@@ -69,11 +69,11 @@
             <version>1.4.7</version>
         </dependency>
 
-<!--        <dependency>-->
-<!--            <groupId>com.easemob.im</groupId>-->
-<!--            <artifactId>im-sdk-core</artifactId>-->
-<!--            <version>0.5.2</version>-->
-<!--        </dependency>-->
+        <!--        <dependency>-->
+        <!--            <groupId>com.easemob.im</groupId>-->
+        <!--            <artifactId>im-sdk-core</artifactId>-->
+        <!--            <version>0.5.2</version>-->
+        <!--        </dependency>-->
 
         <dependency>
             <groupId>io.jsonwebtoken</groupId>
@@ -88,11 +88,11 @@
             <scope>compile</scope>
         </dependency>
 
-<!--        <dependency>-->
-<!--            <groupId>com.google.firebase</groupId>-->
-<!--            <artifactId>firebase-admin</artifactId>-->
-<!--            <version>8.1.0</version>-->
-<!--        </dependency>-->
+        <!--        <dependency>-->
+        <!--            <groupId>com.google.firebase</groupId>-->
+        <!--            <artifactId>firebase-admin</artifactId>-->
+        <!--            <version>8.1.0</version>-->
+        <!--        </dependency>-->
 
         <!--格式化sql日志-->
         <dependency>
@@ -119,12 +119,10 @@
             <groupId>javax.servlet</groupId>
             <artifactId>javax.servlet-api</artifactId>
             <version>4.0.1</version>
-<!--            <scope>provided</scope>-->
+            <!--            <scope>provided</scope>-->
         </dependency>
 
 
-
-
         <!--异维科技dubbo接口包依赖-->
         <dependency>
             <groupId>com.txz</groupId>
@@ -133,12 +131,11 @@
 
         </dependency>
 
-<!--        <dependency>-->
-<!--            <groupId>com.txz</groupId>-->
-<!--            <artifactId>diagnosis-api</artifactId>-->
-<!--            <version>1.0.0-SNAPSHOT</version>-->
-<!--        </dependency>-->
-
+        <!--        <dependency>-->
+        <!--            <groupId>com.txz</groupId>-->
+        <!--            <artifactId>diagnosis-api</artifactId>-->
+        <!--            <version>1.0.0-SNAPSHOT</version>-->
+        <!--        </dependency>-->
 
 
         <!--异维科技dubbo接口包依赖-->
@@ -158,6 +155,7 @@
         <dependency>
             <groupId>org.apache.rocketmq</groupId>
             <artifactId>rocketmq-spring-boot-starter</artifactId>
+            <version>2.2.2</version>
         </dependency>
 
         <!-- xxl-job-core -->
@@ -197,12 +195,12 @@
             <artifactId>kotlin-stdlib</artifactId>
             <version>1.6.20</version>
         </dependency>
-<!--        <dependency>-->
-<!--            <groupId>com.vaadin.external.google</groupId>-->
-<!--            <artifactId>android-json</artifactId>-->
-<!--            <version>0.0.20131108.vaadin1</version>-->
-<!--            <scope>compile</scope>-->
-<!--        </dependency>-->
+        <!--        <dependency>-->
+        <!--            <groupId>com.vaadin.external.google</groupId>-->
+        <!--            <artifactId>android-json</artifactId>-->
+        <!--            <version>0.0.20131108.vaadin1</version>-->
+        <!--            <scope>compile</scope>-->
+        <!--        </dependency>-->
 
 
         <dependency>
@@ -225,12 +223,74 @@
         </dependency>
 
 
-
         <dependency>
             <groupId>org.springframework.boot</groupId>
             <artifactId>spring-boot-starter-amqp</artifactId>
         </dependency>
 
+        <dependency>
+            <groupId>org.springframework.cloud</groupId>
+            <artifactId>spring-cloud-starter-loadbalancer</artifactId>
+        </dependency>
+
+        <dependency>
+            <groupId>org.springframework.cloud</groupId>
+            <artifactId>spring-cloud-starter-bootstrap</artifactId>
+        </dependency>
+
+        <dependency>
+            <groupId>org.apache.dubbo</groupId>
+            <artifactId>dubbo-serialization-kryo</artifactId>
+            <version>2.7.9</version>
+        </dependency>
+
+        <dependency>
+            <groupId>org.springdoc</groupId>
+            <artifactId>springdoc-openapi-ui</artifactId>
+            <version>1.6.14</version>
+        </dependency>
+
+        <dependency>
+            <groupId>com.alibaba.cloud</groupId>
+            <artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId>
+            <version>2.2.9.RELEASE</version>
+        </dependency>
+        <dependency>
+            <groupId>com.alibaba.cloud</groupId>
+            <artifactId>spring-cloud-starter-alibaba-nacos-config</artifactId>
+            <version>2.2.9.RELEASE</version>
+        </dependency>
+
+        <dependency>
+            <groupId>com.alibaba.nacos</groupId>
+            <artifactId>nacos-client</artifactId>
+            <version>2.2.2</version>
+        </dependency>
+
+        <dependency>
+            <groupId>org.springframework.boot</groupId>
+            <artifactId>spring-boot-starter-web</artifactId>
+            <!-- 移除tomcat容器-->
+            <exclusions>
+                <exclusion>
+                    <groupId>org.springframework.boot</groupId>
+                    <artifactId>spring-boot-starter-tomcat</artifactId>
+                </exclusion>
+            </exclusions>
+        </dependency>
+        <!-- 替换undertow容器 -->
+        <dependency>
+            <groupId>org.springframework.boot</groupId>
+            <artifactId>spring-boot-starter-undertow</artifactId>
+        </dependency>
+
+        <dependency>
+            <groupId>junit</groupId>
+            <artifactId>junit</artifactId>
+            <version>4.13.2</version>
+            <scope>test</scope>
+        </dependency>
+
     </dependencies>
 
 

+ 1 - 1
cif-service/src/main/java/com/txz/cif/CifApplication.java

@@ -21,7 +21,7 @@ import org.springframework.web.client.RestTemplate;
 
 @EnableDiscoveryClient
 @SpringBootApplication
-@EnableSwagger2Doc
+// @EnableSwagger2Doc
 @EnableScheduling
 @RibbonClients(value = {
         @RibbonClient(name = "cif",configuration = RibbonWeightedResponseTimeRuleConfig.class)

+ 32 - 39
cif-service/src/main/java/com/txz/cif/configurer/SwaggerConfig.java

@@ -2,6 +2,12 @@ package com.txz.cif.configurer;
 
 import com.github.xiaoymin.swaggerbootstrapui.annotations.EnableSwaggerBootstrapUI;
 import io.swagger.annotations.ApiOperation;
+import io.swagger.v3.oas.models.Components;
+import io.swagger.v3.oas.models.OpenAPI;
+import io.swagger.v3.oas.models.info.Contact;
+import io.swagger.v3.oas.models.info.Info;
+import io.swagger.v3.oas.models.info.License;
+import io.swagger.v3.oas.models.parameters.Parameter;
 import org.springframework.context.annotation.Bean;
 import org.springframework.context.annotation.Configuration;
 import org.springframework.context.annotation.Profile;
@@ -11,8 +17,6 @@ import springfox.documentation.builders.PathSelectors;
 import springfox.documentation.builders.RequestHandlerSelectors;
 import springfox.documentation.schema.ModelRef;
 import springfox.documentation.service.ApiInfo;
-import springfox.documentation.service.Contact;
-import springfox.documentation.service.Parameter;
 import springfox.documentation.spi.DocumentationType;
 import springfox.documentation.spring.web.plugins.Docket;
 import springfox.documentation.swagger2.annotations.EnableSwagger2;
@@ -21,44 +25,33 @@ import java.util.ArrayList;
 import java.util.List;
 
 @Configuration
-@EnableSwagger2
-@EnableSwaggerBootstrapUI
-@Profile({"dev","test"})
+@Profile({"dev", "test"})
 public class SwaggerConfig {
-
+    
     @Bean
-    public Docket docket(){
-        //添加header参数
-        List<Parameter> pars = new ArrayList<>();
-        ParameterBuilder ticketPar = new ParameterBuilder();
-        ticketPar.name("token").description("user token")
-                .modelRef(new ModelRef("string")).parameterType("header")
-                .required(false).build(); //header中的ticket参数非必填,传空也可以
-        ticketPar = new ParameterBuilder();
-        ticketPar.name("appCode").description("appCode")
-                .modelRef(new ModelRef("string")).parameterType("header")
-                .required(false).build(); //header中的ticket参数非必填,传空也可以
-
-        pars.add(ticketPar.build());
-        return new Docket(DocumentationType.SWAGGER_2)
-                .globalOperationParameters(pars)
-                .groupName("demo")
-                .apiInfo(getApiInfo())
-                .select()
-                //设置basePackage会将包下的所有被@Api标记类的所有方法作为api
-                .apis(RequestHandlerSelectors.basePackage("com.txz.cif"))
-                //只有标记了@ApiOperation的方法才会暴露出给swagger
-                .apis(RequestHandlerSelectors.withMethodAnnotation(ApiOperation.class))
-                .paths(PathSelectors.regex("/api/.*")).build();
+    public OpenAPI customOpenAPI() {
+        return new OpenAPI()
+                .components(new Components()
+                        .addParameters("token", new io.swagger.v3.oas.models.parameters.Parameter()
+                                .name("token")
+                                .description("user token")
+                                .required(false)
+                                .in("header"))
+                        .addParameters("appCode", new Parameter()
+                                .name("appCode")
+                                .description("appCode")
+                                .required(false)
+                                .in("header")))
+                .info(new Info()
+                        .title("API接口文档")
+                        .description("swagger2 demo api")
+                        .version("1.0")
+                        .contact(new Contact()
+                                .name("admin")
+                                .url("http://localhost/swagger-ui.html")
+                                .email("xxx@qq.com"))
+                        .license(new License()
+                                .name("Apache 2.0")
+                                .url("http://localhost/swagger-ui.html")));
     }
-
-    private ApiInfo getApiInfo(){
-        return new ApiInfoBuilder()
-                .title("API接口文档")
-                .description("swagger2 demo api")
-                .termsOfServiceUrl("http://localhost/swagger-ui.html")
-                .version("1.0").contact(new Contact("admin", "http://localhost/swagger-ui.html", "xxx@qq.com"))
-                .build();
-    }
-
 }

+ 14 - 14
cif-service/src/main/java/com/txz/cif/configurer/springbootshutdown/UndertowExtraConfiguration.java

@@ -11,17 +11,17 @@ import org.springframework.stereotype.Component;
  * @Date: 2019/11/29 15:13
  * @Version 1.0
  */
-@Component
-@AllArgsConstructor
-public class UndertowExtraConfiguration {
-
-    private final GracefulShutdownUndertowWrapper gracefulShutdownWrapper;
-
-    @Bean
-    public UndertowServletWebServerFactory servletWebServerFactory() {
-        UndertowServletWebServerFactory factory = new UndertowServletWebServerFactory();
-        factory.addDeploymentInfoCustomizers(deploymentInfo -> deploymentInfo.addOuterHandlerChainWrapper(gracefulShutdownWrapper));
-        factory.addBuilderCustomizers(builder -> builder.setServerOption(UndertowOptions.ENABLE_STATISTICS, true));
-        return factory;
-    }
-}
+// @Component
+// @AllArgsConstructor
+// public class UndertowExtraConfiguration {
+//
+//     private final GracefulShutdownUndertowWrapper gracefulShutdownWrapper;
+//
+//     @Bean
+//     public UndertowServletWebServerFactory servletWebServerFactory() {
+//         UndertowServletWebServerFactory factory = new UndertowServletWebServerFactory();
+//         factory.addDeploymentInfoCustomizers(deploymentInfo -> deploymentInfo.addOuterHandlerChainWrapper(gracefulShutdownWrapper));
+//         factory.addBuilderCustomizers(builder -> builder.setServerOption(UndertowOptions.ENABLE_STATISTICS, true));
+//         return factory;
+//     }
+// }

+ 1 - 1
cif-service/src/main/java/com/txz/cif/core/RedisUtil.java

@@ -94,7 +94,7 @@ public class RedisUtil {
 			if(key.length==1){
 				redisTemplate.delete(key[0]);
 			}else{
-				redisTemplate.delete(CollectionUtils.arrayToList(key));
+				redisTemplate.delete(Arrays.asList(key));
 			}
 		}
 	}

+ 29 - 22
cif-service/src/main/resources/bootstrap.properties

@@ -19,16 +19,22 @@ log.home=${${spring.profiles.active}.file.home}
 #spring.cloud.nacos.config.group=dev
 spring.cloud.nacos.config.prefix=cif
 spring.cloud.nacos.config.file-extension=properties
+spring.web.resources.add-mappings=true
+spring.main.allow-circular-references=true
+springfox.documentation.enabled=false
 #spring.cloud.nacos.config.ext-config[0].data-id=minio-${spring.profiles.active}.properties
 #spring.cloud.nacos.config.ext-config[0].refresh=true
-spring.cloud.nacos.config.ext-config[0].data-id=mq-${spring.profiles.active}.properties
-spring.cloud.nacos.config.ext-config[0].refresh=true
-spring.cloud.nacos.config.ext-config[1].data-id=redis-${spring.profiles.active}.properties
-spring.cloud.nacos.config.ext-config[1].refresh=true
-spring.cloud.nacos.config.ext-config[2].data-id=xxljob-${spring.profiles.active}.properties
-spring.cloud.nacos.config.ext-config[2].refresh=true
+#spring.cloud.nacos.config.ext-config[0].data-id=mq-${spring.profiles.active}.properties
+#spring.cloud.nacos.config.ext-config[0].refresh=true
+#spring.cloud.nacos.config.ext-config[1].data-id=redis-${spring.profiles.active}.properties
+#spring.cloud.nacos.config.ext-config[1].refresh=true
+#spring.cloud.nacos.config.ext-config[2].data-id=xxljob-${spring.profiles.active}.properties
+#spring.cloud.nacos.config.ext-config[2].refresh=true
 #spring.cloud.nacos.config.ext-config[3].data-id=alipay-${spring.profiles.active}.properties
 #spring.cloud.nacos.config.ext-config[3].refresh=true
+spring.cloud.nacos.config.extension-configs[0]=mq-${spring.profiles.active}.properties
+spring.cloud.nacos.config.extension-configs[1]=redis-${spring.profiles.active}.properties
+spring.cloud.nacos.config.extension-configs[2]=${spring.application.name}-${spring.profiles.active}.properties
 
 #spring.cloud.nacos.config.ext-config[5].data-id=rconsult-${spring.profiles.active}.properties
 #spring.cloud.nacos.config.ext-config[5].refresh=true
@@ -38,42 +44,43 @@ spring.cloud.nacos.config.ext-config[2].refresh=true
 dubbo.scan.base-packages=com.txz.${spring.application.name}.dubbo.impl
 dubbo.protocol.name=dubbo
 dubbo.protocol.port=-1
-dubbo.registry.file=${${spring.profiles.active}.file.home}/dubbo_${spring.application.name}_${server.port}.cache
+#dubbo.registry.file=${${spring.profiles.active}.file.home}/dubbo_${spring.application.name}_${server.port}.cache
 dubbo.registry.address=nacos://${${spring.profiles.active}.nacos}
 dubbo.cloud.subscribed-services=operating
 dubbo.provider.dynamic=true
-dubbo.application.qos.enable=true
+dubbo.application.qos.enable=false
 dubbo.application.qos.port=-1
 dubbo.application.qos.accept.foreign.ip=true
 dubbo.reference.com.foo.BarService.check=false
 dubbo.reference.check=false
 dubbo.consumer.check=false
 dubbo.registry.check=false
+dubbo.registry.register=false
 
 dubbo.service.min.thread.pool.size=200
 dubbo.service.max.thread.pool.size=200
 
-management.endpoints.web.exposure.include=*
-management.endpoint.shutdown.enabled=true
-management.endpoints.web.base-path=/${spring.application.name}
-management.endpoints.web.path-mapping.shutdown=/shutThisBoot
-management.server.address=127.0.0.1
+#management.endpoints.web.exposure.include=*
+#management.endpoint.shutdown.enabled=true
+#management.endpoints.web.base-path=/${spring.application.name}
+#management.endpoints.web.path-mapping.shutdown=/shutThisBoot
+#management.server.address=127.0.0.1
 dubbo.protocol.serialization=kryo
 dubbo.protocol.optimizer=
 server.undertow.worker-threads=256
 local.job=http://8.219.117.74/xxl-job-admin
-dev.job=http://172.17.0.12:9096/xxl-job-admin
+dev.job=http://124.220.229.80:9096/xxl-job-admin
 test.job=http://172.10.100.40:8080/xxl-job-admin
 pro.job=http://172.10.100.40:8080/xxl-job-admin
-#dev.accessToken=
+dev.accessToken=
 #test.accessToken=default_token
-#xxl.job.admin.addresses=${${spring.profiles.active}.job}
-#xxl.job.executor.appname=${spring.application.name}executor
-#xxl.job.accessToken=${${spring.profiles.active}.accessToken}
-#xxl.job.executor.ip=
-#xxl.job.executor.port=9999
-#xxl.job.executor.logpath=/var/logs/xxljob/${spring.application.name}/jobhandler
-#xxl.job.executor.logretentiondays=4
+xxl.job.admin.addresses=${${spring.profiles.active}.job}
+xxl.job.executor.appname=${spring.application.name}executor
+xxl.job.accessToken=${${spring.profiles.active}.accessToken}
+xxl.job.executor.ip=
+xxl.job.executor.port=9999
+xxl.job.executor.logpath=/var/logs/xxljob/${spring.application.name}/jobhandler
+xxl.job.executor.logretentiondays=4
 
 logging.level.com.alibaba.nacos.client.naming=error
 spring.jpa.show-sql=true

+ 1 - 1
cif-service/src/main/resources/logback.xml

@@ -1,7 +1,7 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <configuration debug="false">
     <!--定义日志文件的存储地址 勿在 LogBack 的配置中使用相对路径-->
-    <property name="LOG_HOME" value="/var/logs/cif" />
+    <property name="LOG_HOME" value="./logs/cif" />
 <!--    <property name="port" value="${server.port}"/>-->
 <!--    <property resource="application.properties"/>-->
     <springProperty scope="context" name="port" source="server.port"/>

+ 36 - 36
pom.xml

@@ -2,56 +2,56 @@
 <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">
-	<modelVersion>4.0.0</modelVersion>
+    <modelVersion>4.0.0</modelVersion>
     <groupId>com.txz</groupId>
     <version>1.0.0-SNAPSHOT</version>
     <parent>
         <groupId>org.springframework.boot</groupId>
         <artifactId>spring-boot-starter-parent</artifactId>
-		<version>2.0.5.RELEASE</version>
+        <version>2.7.18</version>
     </parent>
 
 
     <artifactId>cif</artifactId>
     <packaging>pom</packaging>
-	<modules>
+    <modules>
         <module>cif-service</module>
-		<module>cif-api</module>
+        <module>cif-api</module>
     </modules>
 
-   <dependencyManagement>
-		<dependencies>
-			<dependency>
-				<groupId>org.springframework.cloud</groupId>
-				<artifactId>spring-cloud-dependencies</artifactId>
-				<version>Finchley.SR1</version>
-				<type>pom</type>
-				<scope>import</scope>
-			</dependency>
-			<dependency>
-				<groupId>org.springframework.cloud</groupId>
-				<artifactId>spring-cloud-alibaba-dependencies</artifactId>
-				<version>0.2.2.RELEASE</version>
-				<type>pom</type>
-				<scope>import</scope>
-			</dependency>
-		</dependencies>
-	</dependencyManagement>
-	<distributionManagement>
-		<snapshotRepository>
-			<uniqueVersion>false</uniqueVersion>
-			<id>nexus-snapshots</id>
-			<name>Nexus Snapshot Repository</name>
-			<url>http://124.220.229.80:9091/repository/maven-snapshots/</url>
-			<layout>default</layout>
-		</snapshotRepository>
+    <dependencyManagement>
+        <dependencies>
+            <dependency>
+                <groupId>org.springframework.cloud</groupId>
+                <artifactId>spring-cloud-dependencies</artifactId>
+                <version>2021.0.8</version>
+                <type>pom</type>
+                <scope>import</scope>
+            </dependency>
+            <!-- <dependency> -->
+            <!-- 	<groupId>org.springframework.cloud</groupId> -->
+            <!-- 	<artifactId>spring-cloud-alibaba-dependencies</artifactId> -->
+            <!-- 	<version>0.2.2.RELEASE</version> -->
+            <!-- 	<type>pom</type> -->
+            <!-- 	<scope>import</scope> -->
+            <!-- </dependency> -->
+        </dependencies>
+    </dependencyManagement>
+    <distributionManagement>
+        <snapshotRepository>
+            <uniqueVersion>false</uniqueVersion>
+            <id>nexus-snapshots</id>
+            <name>Nexus Snapshot Repository</name>
+            <url>http://124.220.229.80:9091/repository/maven-snapshots/</url>
+            <layout>default</layout>
+        </snapshotRepository>
 
-		<repository>
-			<id>nexus-releases</id>
-			<name>maven-releases</name>
-			<url>http://124.220.229.80:9091/repository/maven-releases/</url>
-		</repository>
-	</distributionManagement>
+        <repository>
+            <id>nexus-releases</id>
+            <name>maven-releases</name>
+            <url>http://124.220.229.80:9091/repository/maven-releases/</url>
+        </repository>
+    </distributionManagement>
 
 
     <build>