Merge remote-tracking branch 'upstream/springboot3' into springboot3-fix-#5741

pull/5767/head
chenrui 2024-01-04 20:37:37 +08:00
commit d5903ba52a
10 changed files with 110 additions and 54 deletions

View File

@ -53,6 +53,16 @@
<dependency> <dependency>
<groupId>org.springframework.boot</groupId> <groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId> <artifactId>spring-boot-starter-web</artifactId>
<exclusions>
<exclusion>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-tomcat</artifactId>
</exclusion>
</exclusions>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-undertow</artifactId>
</dependency> </dependency>
<!-- websocket --> <!-- websocket -->
<dependency> <dependency>
@ -189,9 +199,14 @@
<artifactId>checkstyle</artifactId> <artifactId>checkstyle</artifactId>
<groupId>com.puppycrawl.tools</groupId> <groupId>com.puppycrawl.tools</groupId>
</exclusion> </exclusion>
<!-- TODO shiro 无法使用 spring boot 3.X 自带的jedis降版本处理 -->
<exclusion>
<artifactId>jedis</artifactId>
<groupId>redis.clients</groupId>
</exclusion>
</exclusions> </exclusions>
</dependency> </dependency>
<!-- shiro 无法使用 spring boot 3.X 自带的jedis降版本处理 --> <!-- TODO shiro 无法使用 spring boot 3.X 自带的jedis降版本处理 -->
<dependency> <dependency>
<groupId>redis.clients</groupId> <groupId>redis.clients</groupId>
<artifactId>jedis</artifactId> <artifactId>jedis</artifactId>
@ -252,7 +267,7 @@
<!-- AutoPoi Excel工具类--> <!-- AutoPoi Excel工具类-->
<dependency> <dependency>
<groupId>org.jeecgframework</groupId> <groupId>org.jeecgframework.boot3</groupId>
<artifactId>autopoi-web</artifactId> <artifactId>autopoi-web</artifactId>
<version>${autopoi-web.version}</version> <version>${autopoi-web.version}</version>
<exclusions> <exclusions>

View File

@ -413,7 +413,7 @@ public class oConvertUtils {
return false; return false;
} }
String[] childs = childArray.toArray(new String[]{}); String[] childs = (String[]) childArray.toArray();
for (String v : childs) { for (String v : childs) {
if (!isIn(v, all)) { if (!isIn(v, all)) {
return false; return false;

View File

@ -1,5 +1,6 @@
package org.jeecg.config; package org.jeecg.config;
import io.swagger.v3.oas.annotations.Operation;
import io.swagger.v3.oas.models.Components; import io.swagger.v3.oas.models.Components;
import io.swagger.v3.oas.models.OpenAPI; import io.swagger.v3.oas.models.OpenAPI;
import io.swagger.v3.oas.models.Paths; import io.swagger.v3.oas.models.Paths;
@ -15,10 +16,6 @@ import org.springframework.context.annotation.Configuration;
import org.springframework.web.servlet.config.annotation.ResourceHandlerRegistry; import org.springframework.web.servlet.config.annotation.ResourceHandlerRegistry;
import org.springframework.web.servlet.config.annotation.WebMvcConfigurer; import org.springframework.web.servlet.config.annotation.WebMvcConfigurer;
/**
* @author kezhijie@wuhandsj.com
* @date 2023/11/2 14:19
*/
@Configuration @Configuration
public class Swagger3Config implements WebMvcConfigurer { public class Swagger3Config implements WebMvcConfigurer {
/** /**
@ -39,6 +36,10 @@ public class Swagger3Config implements WebMvcConfigurer {
return GroupedOpenApi.builder() return GroupedOpenApi.builder()
.group("default") .group("default")
.packagesToScan("org.jeecg") .packagesToScan("org.jeecg")
// 剔除以下几个包路径的接口生成文档
.packagesToExclude("org.jeecg.modules.drag", "org.jeecg.modules.online", "org.jeecg.modules.jmreport")
// 加了Operation注解的方法才生成接口文档
.addOpenApiMethodFilter(method -> method.isAnnotationPresent(Operation.class))
.build(); .build();
} }

View File

@ -0,0 +1,19 @@
package org.jeecg.config;
import io.undertow.server.DefaultByteBufferPool;
import io.undertow.websockets.jsr.WebSocketDeploymentInfo;
import org.springframework.boot.web.embedded.undertow.UndertowServletWebServerFactory;
import org.springframework.boot.web.server.WebServerFactoryCustomizer;
import org.springframework.stereotype.Component;
@Component
public class UndertowCustomizer implements WebServerFactoryCustomizer<UndertowServletWebServerFactory> {
@Override
public void customize(UndertowServletWebServerFactory factory) {
factory.addDeploymentInfoCustomizers(deploymentInfo -> {
WebSocketDeploymentInfo webSocketDeploymentInfo = new WebSocketDeploymentInfo();
webSocketDeploymentInfo.setBuffers(new DefaultByteBufferPool(false, 1024));
deploymentInfo.addServletContextAttribute("io.undertow.websockets.jsr.WebSocketDeploymentInfo", webSocketDeploymentInfo);
});
}
}

View File

@ -32,18 +32,18 @@
<!-- 积木报表 --> <!-- 积木报表 -->
<dependency> <dependency>
<groupId>org.jeecgframework.jimureport</groupId> <groupId>org.jeecgframework.jimureport</groupId>
<artifactId>jimureport-spring-boot3-starter</artifactId> <artifactId>jimureport-spring-boot3-starter-fastjson2</artifactId>
</dependency> </dependency>
<dependency> <dependency>
<groupId>org.jeecgframework.boot3</groupId> <groupId>org.jeecgframework.boot3</groupId>
<artifactId>drag-free</artifactId> <artifactId>drag-free</artifactId>
<version>1.0.2</version> <version>1.0.2</version>
</dependency> </dependency>
<!-- 积木报表 mongo redis 支持包 --> <!-- 积木报表 mongo redis 支持包
<dependency> <dependency>
<groupId>org.jeecgframework.jimureport</groupId> <groupId>org.jeecgframework.jimureport</groupId>
<artifactId>jimureport-nosql-starter</artifactId> <artifactId>jimureport-nosql-starter</artifactId>
</dependency> </dependency> -->
</dependencies> </dependencies>
</project> </project>

View File

@ -1,33 +1,33 @@
package org.jeecg.config.init; //package org.jeecg.config.init;
//
import org.apache.catalina.Context; //import org.apache.catalina.Context;
import org.apache.tomcat.util.scan.StandardJarScanner; //import org.apache.tomcat.util.scan.StandardJarScanner;
import org.springframework.boot.web.embedded.tomcat.TomcatServletWebServerFactory; //import org.springframework.boot.web.embedded.tomcat.TomcatServletWebServerFactory;
import org.springframework.context.annotation.Bean; //import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration; //import org.springframework.context.annotation.Configuration;
//
/** ///**
* @Description: TomcatFactoryConfig // * @Description: TomcatFactoryConfig
* @author: scott // * @author: scott
* @date: 20210125 11:40 // * @date: 2021年01月25日 11:40
*/ // */
@Configuration //@Configuration
public class TomcatFactoryConfig { //public class TomcatFactoryConfig {
/** // /**
* tomcat-embed-jasperjar // * tomcat-embed-jasper引用后提示jar找不到的问题
*/ // */
@Bean // @Bean
public TomcatServletWebServerFactory tomcatFactory() { // public TomcatServletWebServerFactory tomcatFactory() {
TomcatServletWebServerFactory factory = new TomcatServletWebServerFactory() { // TomcatServletWebServerFactory factory = new TomcatServletWebServerFactory() {
@Override // @Override
protected void postProcessContext(Context context) { // protected void postProcessContext(Context context) {
((StandardJarScanner) context.getJarScanner()).setScanManifest(false); // ((StandardJarScanner) context.getJarScanner()).setScanManifest(false);
} // }
}; // };
factory.addConnectorCustomizers(connector -> { // factory.addConnectorCustomizers(connector -> {
connector.setProperty("relaxedPathChars", "[]{}"); // connector.setProperty("relaxedPathChars", "[]{}");
connector.setProperty("relaxedQueryChars", "[]{}"); // connector.setProperty("relaxedQueryChars", "[]{}");
}); // });
return factory; // return factory;
} // }
} //}

View File

@ -1,7 +1,12 @@
server: server:
port: 8080 port: 8080
tomcat: undertow:
max-swallow-size: -1 # 平替 tomcat server.tomcat.max-swallow-siz undertow该值默认为-1
# max-http-post-size: 10MB
worker-threads: 16 # 4核CPU标准配置
buffers:
websocket: 8192 # WebSocket缓冲 以字节为单位这里设置为8 KB
io: 16384 # IO操作缓冲 以字节为单位这里设置为16 KB
error: error:
include-exception: true include-exception: true
include-stacktrace: ALWAYS include-stacktrace: ALWAYS

View File

@ -1,7 +1,12 @@
server: server:
port: 8080 port: 8080
tomcat: undertow:
max-swallow-size: -1 # 平替 tomcat server.tomcat.max-swallow-siz undertow该值默认为-1
# max-http-post-size: 10MB
worker-threads: 16 # 4核CPU标准配置
buffers:
websocket: 8192 # WebSocket缓冲 以字节为单位这里设置为8 KB
io: 16384 # IO操作缓冲 以字节为单位这里设置为16 KB
error: error:
include-exception: true include-exception: true
include-stacktrace: ALWAYS include-stacktrace: ALWAYS

View File

@ -1,7 +1,12 @@
server: server:
port: 8080 port: 8080
tomcat: undertow:
max-swallow-size: -1 # 平替 tomcat server.tomcat.max-swallow-siz undertow该值默认为-1
# max-http-post-size: 10MB
worker-threads: 16 # 4核CPU标准配置
buffers:
websocket: 8192 # WebSocket缓冲 以字节为单位这里设置为8 KB
io: 16384 # IO操作缓冲 以字节为单位这里设置为16 KB
error: error:
include-exception: true include-exception: true
include-stacktrace: ALWAYS include-stacktrace: ALWAYS

16
pom.xml
View File

@ -38,7 +38,7 @@
<alibaba.nacos.version>2.0.4</alibaba.nacos.version> <alibaba.nacos.version>2.0.4</alibaba.nacos.version>
<xxl-job-core.version>2.2.0</xxl-job-core.version> <xxl-job-core.version>2.2.0</xxl-job-core.version>
<fastjson.version>1.2.83</fastjson.version> <fastjson.version>2.0.43</fastjson.version>
<pegdown.version>1.6.0</pegdown.version> <pegdown.version>1.6.0</pegdown.version>
<knife4j-spring-boot-starter.version>4.3.0</knife4j-spring-boot-starter.version> <knife4j-spring-boot-starter.version>4.3.0</knife4j-spring-boot-starter.version>
<knife4j-spring-ui.version>2.0.9</knife4j-spring-ui.version> <knife4j-spring-ui.version>2.0.9</knife4j-spring-ui.version>
@ -56,17 +56,17 @@
<minidao.version>1.9.5</minidao.version> <minidao.version>1.9.5</minidao.version>
<!-- 积木报表--> <!-- 积木报表-->
<jimureport-spring-boot-starter.version>1.6.6-beta2</jimureport-spring-boot-starter.version> <jimureport-spring-boot-starter.version>1.6.6</jimureport-spring-boot-starter.version>
<commons.version>2.6</commons.version> <commons.version>2.6</commons.version>
<aliyun-java-sdk-dysmsapi.version>2.1.0</aliyun-java-sdk-dysmsapi.version> <aliyun-java-sdk-dysmsapi.version>2.1.0</aliyun-java-sdk-dysmsapi.version>
<aliyun.oss.version>3.11.2</aliyun.oss.version> <aliyun.oss.version>3.17.3</aliyun.oss.version>
<!-- shiro --> <!-- shiro -->
<shiro.version>1.12.0</shiro.version> <shiro.version>1.12.0</shiro.version>
<java-jwt.version>3.11.0</java-jwt.version> <java-jwt.version>3.11.0</java-jwt.version>
<shiro-redis.version>3.2.2</shiro-redis.version> <shiro-redis.version>3.2.2</shiro-redis.version>
<codegenerate.version>1.4.4</codegenerate.version> <codegenerate.version>1.4.4</codegenerate.version>
<autopoi-web.version>1.4.7</autopoi-web.version> <autopoi-web.version>1.4.7</autopoi-web.version>
<minio.version>8.0.3</minio.version> <minio.version>8.5.7</minio.version>
<justauth-spring-boot-starter.version>1.3.4</justauth-spring-boot-starter.version> <justauth-spring-boot-starter.version>1.3.4</justauth-spring-boot-starter.version>
<dom4j.version>1.6.1</dom4j.version> <dom4j.version>1.6.1</dom4j.version>
<qiniu-java-sdk.version>7.4.0</qiniu-java-sdk.version> <qiniu-java-sdk.version>7.4.0</qiniu-java-sdk.version>
@ -140,6 +140,12 @@
<groupId>org.pegdown</groupId> <groupId>org.pegdown</groupId>
<artifactId>pegdown</artifactId> <artifactId>pegdown</artifactId>
<version>${pegdown.version}</version> <version>${pegdown.version}</version>
<exclusions>
<exclusion>
<artifactId>asm</artifactId>
<groupId>org.ow2.asm</groupId>
</exclusion>
</exclusions>
</dependency> </dependency>
</dependencies> </dependencies>
@ -369,7 +375,7 @@
<!-- 积木报表--> <!-- 积木报表-->
<dependency> <dependency>
<groupId>org.jeecgframework.jimureport</groupId> <groupId>org.jeecgframework.jimureport</groupId>
<artifactId>jimureport-spring-boot3-starter</artifactId> <artifactId>jimureport-spring-boot3-starter-fastjson2</artifactId>
<version>${jimureport-spring-boot-starter.version}</version> <version>${jimureport-spring-boot-starter.version}</version>
<exclusions> <exclusions>
<exclusion> <exclusion>