diff --git a/pom.xml b/pom.xml
index 0ad752ea..6845d923 100644
--- a/pom.xml
+++ b/pom.xml
@@ -5,7 +5,7 @@
org.springframework.boot
spring-boot-starter-parent
- 2.3.4.RELEASE
+ 2.1.4.RELEASE
@@ -36,12 +36,12 @@
1.8
- 2.3.4.RELEASE
+ 2.1.8.RELEASE
- Hoxton.SR8
+ Greenwich.SR6
- 2.2.3.RELEASE
+ 2.1.2.RELEASE
@@ -135,6 +135,12 @@
${easyopen.version}
+
+ com.squareup.okhttp3
+ okhttp
+ 3.14.7
+
+
net.oschina.durcframework
easyopen-spring-boot-starter
diff --git a/sop-admin/sop-admin-server/pom.xml b/sop-admin/sop-admin-server/pom.xml
index 97f39640..b38a6a24 100644
--- a/sop-admin/sop-admin-server/pom.xml
+++ b/sop-admin/sop-admin-server/pom.xml
@@ -76,6 +76,14 @@
spring-boot-starter-test
test
+
+
+ junit
+ junit
+ 4.13
+ test
+
+
org.projectlombok
lombok
diff --git a/sop-admin/sop-admin-server/src/test/java/com/gitee/sop/adminserver/AccountTest.java b/sop-admin/sop-admin-server/src/test/java/com/gitee/sop/adminserver/AccountTest.java
index a9427f7a..dda03836 100644
--- a/sop-admin/sop-admin-server/src/test/java/com/gitee/sop/adminserver/AccountTest.java
+++ b/sop-admin/sop-admin-server/src/test/java/com/gitee/sop/adminserver/AccountTest.java
@@ -2,18 +2,16 @@ package com.gitee.sop.adminserver;
import junit.framework.TestCase;
import org.apache.commons.codec.digest.DigestUtils;
-import org.junit.jupiter.api.Test;
/**
* @author tanghc
*/
-public class AccountTest extends TestCase {
+public class AccountTest extends TestCase {
/*
生成密码
*/
- @Test
- public void genPwd() {
+ public void testGen() {
String username = "admin";
String password = "123456";
String save_to_db = DigestUtils.md5Hex(username + DigestUtils.md5Hex(password) + username);
diff --git a/sop-admin/sop-admin-server/src/test/java/com/gitee/sop/adminserver/SopAdminServerApplicationTests.java b/sop-admin/sop-admin-server/src/test/java/com/gitee/sop/adminserver/SopAdminServerApplicationTests.java
index 02573978..deb93a38 100644
--- a/sop-admin/sop-admin-server/src/test/java/com/gitee/sop/adminserver/SopAdminServerApplicationTests.java
+++ b/sop-admin/sop-admin-server/src/test/java/com/gitee/sop/adminserver/SopAdminServerApplicationTests.java
@@ -1,6 +1,5 @@
package com.gitee.sop.adminserver;
-import org.junit.Test;
import org.junit.runner.RunWith;
import org.springframework.boot.test.context.SpringBootTest;
import org.springframework.test.context.junit4.SpringRunner;
@@ -9,8 +8,4 @@ import org.springframework.test.context.junit4.SpringRunner;
@SpringBootTest
public class SopAdminServerApplicationTests {
- @Test
- public void contextLoads() {
- }
-
}
diff --git a/sop-common/sop-gateway-common/src/main/java/com/gitee/sop/gatewaycommon/bean/GatewayPredicateDefinition.java b/sop-common/sop-gateway-common/src/main/java/com/gitee/sop/gatewaycommon/bean/GatewayPredicateDefinition.java
index 06a6c0e5..db9b4d62 100644
--- a/sop-common/sop-gateway-common/src/main/java/com/gitee/sop/gatewaycommon/bean/GatewayPredicateDefinition.java
+++ b/sop-common/sop-gateway-common/src/main/java/com/gitee/sop/gatewaycommon/bean/GatewayPredicateDefinition.java
@@ -3,7 +3,6 @@ package com.gitee.sop.gatewaycommon.bean;
import lombok.Data;
import org.springframework.util.StringUtils;
-import javax.validation.ValidationException;
import java.util.LinkedHashMap;
import java.util.Map;
@@ -24,7 +23,7 @@ public class GatewayPredicateDefinition {
public GatewayPredicateDefinition(String text) {
int eqIdx = text.indexOf(61);
if (eqIdx <= 0) {
- throw new ValidationException("Unable to parse GatewayPredicateDefinition text '" + text + "', must be of the form name=value");
+ throw new RuntimeException("Unable to parse GatewayPredicateDefinition text '" + text + "', must be of the form name=value");
} else {
this.setName(text.substring(0, eqIdx));
String[] params = StringUtils.tokenizeToStringArray(text.substring(eqIdx + 1), ",");
diff --git a/sop-common/sop-gateway-common/src/main/java/com/gitee/sop/gatewaycommon/gateway/ServerWebExchangeUtil.java b/sop-common/sop-gateway-common/src/main/java/com/gitee/sop/gatewaycommon/gateway/ServerWebExchangeUtil.java
index e73688bf..93c76f88 100644
--- a/sop-common/sop-gateway-common/src/main/java/com/gitee/sop/gatewaycommon/gateway/ServerWebExchangeUtil.java
+++ b/sop-common/sop-gateway-common/src/main/java/com/gitee/sop/gatewaycommon/gateway/ServerWebExchangeUtil.java
@@ -3,7 +3,6 @@ package com.gitee.sop.gatewaycommon.gateway;
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONObject;
import com.gitee.sop.gatewaycommon.bean.SopConstants;
-import com.gitee.sop.gatewaycommon.gateway.codec.MessageReaderFactory;
import com.gitee.sop.gatewaycommon.gateway.common.FileUploadHttpServletRequest;
import com.gitee.sop.gatewaycommon.gateway.common.RequestContentDataExtractor;
import com.gitee.sop.gatewaycommon.gateway.common.SopServerHttpRequestDecorator;
@@ -23,6 +22,7 @@ import org.springframework.http.server.reactive.ServerHttpRequest;
import org.springframework.util.MultiValueMap;
import org.springframework.web.multipart.MultipartHttpServletRequest;
import org.springframework.web.multipart.commons.CommonsMultipartResolver;
+import org.springframework.web.reactive.function.server.HandlerStrategies;
import org.springframework.web.reactive.function.server.ServerRequest;
import org.springframework.web.server.ServerWebExchange;
import org.springframework.web.server.WebFilterChain;
@@ -47,7 +47,7 @@ public class ServerWebExchangeUtil {
private static final FormHttpMessageConverter formHttpMessageConverter = new FormHttpMessageConverter();
- private static final List> messageReaders = MessageReaderFactory.build();
+ private static final List> messageReaders = HandlerStrategies.withDefaults().messageReaders();
/**
* 重定向
diff --git a/sop-common/sop-gateway-common/src/main/java/com/gitee/sop/gatewaycommon/gateway/codec/MessageReaderFactory.java b/sop-common/sop-gateway-common/src/main/java/com/gitee/sop/gatewaycommon/gateway/codec/MessageReaderFactory.java
deleted file mode 100644
index b81f1eec..00000000
--- a/sop-common/sop-gateway-common/src/main/java/com/gitee/sop/gatewaycommon/gateway/codec/MessageReaderFactory.java
+++ /dev/null
@@ -1,68 +0,0 @@
-package com.gitee.sop.gatewaycommon.gateway.codec;
-
-import com.gitee.sop.gatewaycommon.manager.EnvironmentKeys;
-import org.springframework.core.codec.AbstractDataBufferDecoder;
-import org.springframework.core.codec.Decoder;
-import org.springframework.http.codec.DecoderHttpMessageReader;
-import org.springframework.http.codec.HttpMessageReader;
-import org.springframework.util.ReflectionUtils;
-import org.springframework.web.reactive.function.client.ExchangeStrategies;
-import org.springframework.web.reactive.function.server.HandlerStrategies;
-
-import java.lang.reflect.Method;
-import java.util.List;
-
-/**
- * @author tanghc
- */
-public class MessageReaderFactory {
-
- public static final String METHOD_SET_MAX_IN_MEMORY_SIZE = "setMaxInMemorySize";
- public static final String METHOD_GET_DECODER = "getDecoder";
- public static final int DEFAULT_SIZE = 256 * 1024;
-
- public static List> build() {
- String maxInMemorySizeValueStr = EnvironmentKeys.MAX_IN_MEMORY_SIZE.getValue();
- int maxInMemorySizeValue = Integer.parseInt(maxInMemorySizeValueStr);
- List> messageReaders = HandlerStrategies.withDefaults().messageReaders();
- if (DEFAULT_SIZE == maxInMemorySizeValue) {
- return messageReaders;
- }
- // 设置POST缓存大小
- for (HttpMessageReader> httpMessageReader : messageReaders) {
- Method[] methods = ReflectionUtils.getDeclaredMethods(httpMessageReader.getClass());
- for (Method method : methods) {
- String methodName = method.getName();
- if (METHOD_SET_MAX_IN_MEMORY_SIZE.equals(methodName)) {
- ReflectionUtils.invokeMethod(method, httpMessageReader, maxInMemorySizeValue);
- } else if (METHOD_GET_DECODER.equals(methodName)) {
- Object decoder = ReflectionUtils.invokeMethod(method, httpMessageReader);
- if (decoder instanceof AbstractDataBufferDecoder) {
- AbstractDataBufferDecoder> bufferDecoder = (AbstractDataBufferDecoder>) decoder;
- bufferDecoder.setMaxInMemorySize(maxInMemorySizeValue);
- }
- }
- }
- }
- return messageReaders;
- }
-
- public static void initMaxInMemorySize(ExchangeStrategies exchangeStrategies) {
- // 修复返回大文本数据报org.springframework.core.io.buffer.DataBufferLimitException: Exceeded limit on max bytes to buffer : 262144
- String maxInMemorySizeValueStr = EnvironmentKeys.MAX_IN_MEMORY_SIZE.getValue();
- int maxInMemorySizeValue = Integer.parseInt(maxInMemorySizeValueStr);
- if (DEFAULT_SIZE == maxInMemorySizeValue) {
- return;
- }
- for (HttpMessageReader> messageReader : exchangeStrategies.messageReaders()) {
- if (messageReader instanceof DecoderHttpMessageReader) {
- DecoderHttpMessageReader reader = (DecoderHttpMessageReader) messageReader;
- Decoder decoder = reader.getDecoder();
- if (decoder instanceof AbstractDataBufferDecoder) {
- AbstractDataBufferDecoder dataBufferDecoder = (AbstractDataBufferDecoder)decoder;
- dataBufferDecoder.setMaxInMemorySize(maxInMemorySizeValue);
- }
- }
- }
- }
-}
diff --git a/sop-common/sop-gateway-common/src/main/java/com/gitee/sop/gatewaycommon/gateway/filter/GatewayModifyResponseGatewayFilter.java b/sop-common/sop-gateway-common/src/main/java/com/gitee/sop/gatewaycommon/gateway/filter/GatewayModifyResponseGatewayFilter.java
index 2167b8a2..4d3bc4c1 100644
--- a/sop-common/sop-gateway-common/src/main/java/com/gitee/sop/gatewaycommon/gateway/filter/GatewayModifyResponseGatewayFilter.java
+++ b/sop-common/sop-gateway-common/src/main/java/com/gitee/sop/gatewaycommon/gateway/filter/GatewayModifyResponseGatewayFilter.java
@@ -2,7 +2,6 @@ package com.gitee.sop.gatewaycommon.gateway.filter;
import com.gitee.sop.gatewaycommon.bean.ApiContext;
import com.gitee.sop.gatewaycommon.bean.SopConstants;
-import com.gitee.sop.gatewaycommon.gateway.codec.MessageReaderFactory;
import com.gitee.sop.gatewaycommon.result.ResultExecutor;
import org.apache.commons.lang3.StringUtils;
import org.reactivestreams.Publisher;
@@ -60,7 +59,7 @@ public class GatewayModifyResponseGatewayFilter implements GlobalFilter, Ordered
//this will prevent exception in case of using non-standard media types like "Content-Type: image"
httpHeaders.add(HttpHeaders.CONTENT_TYPE, originalResponseContentType);
ResponseAdapter responseAdapter = new ResponseAdapter(body, httpHeaders);
- DefaultClientResponse clientResponse = new DefaultClientResponse(responseAdapter, getExchangeStrategies());
+ DefaultClientResponse clientResponse = new DefaultClientResponse(responseAdapter, ExchangeStrategies.withDefaults());
//TODO: flux or mono
Mono modifiedBody = clientResponse.bodyToMono(inClass)
@@ -97,13 +96,6 @@ public class GatewayModifyResponseGatewayFilter implements GlobalFilter, Ordered
return chain.filter(exchange.mutate().response(responseDecorator).build());
}
- private ExchangeStrategies getExchangeStrategies() {
- ExchangeStrategies exchangeStrategies = ExchangeStrategies.withDefaults();
- // 修复返回大文本数据报org.springframework.core.io.buffer.DataBufferLimitException: Exceeded limit on max bytes to buffer : 262144
- MessageReaderFactory.initMaxInMemorySize(exchangeStrategies);
- return exchangeStrategies;
- }
-
@Override
public int getOrder() {
return NettyWriteResponseFilter.WRITE_RESPONSE_FILTER_ORDER - 1;
diff --git a/sop-common/sop-service-common/src/main/java/com/gitee/sop/servercommon/configuration/ServiceConfiguration.java b/sop-common/sop-service-common/src/main/java/com/gitee/sop/servercommon/configuration/ServiceConfiguration.java
index 07294768..1f302e88 100644
--- a/sop-common/sop-service-common/src/main/java/com/gitee/sop/servercommon/configuration/ServiceConfiguration.java
+++ b/sop-common/sop-service-common/src/main/java/com/gitee/sop/servercommon/configuration/ServiceConfiguration.java
@@ -1,7 +1,6 @@
package com.gitee.sop.servercommon.configuration;
import com.alibaba.cloud.nacos.NacosDiscoveryProperties;
-import com.alibaba.cloud.nacos.NacosServiceManager;
import com.alibaba.cloud.nacos.discovery.NacosWatch;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.ObjectProvider;
@@ -22,7 +21,7 @@ public class ServiceConfiguration extends SpringmvcConfiguration {
@Bean
@ConditionalOnMissingBean
@ConditionalOnProperty("spring.cloud.nacos.discovery.server-addr")
- public NacosWatch nacosWatch(NacosDiscoveryProperties nacosDiscoveryProperties, ObjectProvider taskScheduler, Environment environment, NacosServiceManager nacosServiceManager) {
+ public NacosWatch nacosWatch(NacosDiscoveryProperties nacosDiscoveryProperties, ObjectProvider taskScheduler, Environment environment) {
Map metadata = nacosDiscoveryProperties.getMetadata();
String contextPath = environment.getProperty(METADATA_SERVER_CONTEXT_PATH);
// 将context-path信息加入到metadata中
@@ -32,7 +31,7 @@ public class ServiceConfiguration extends SpringmvcConfiguration {
// 在元数据中新增启动时间,不能修改这个值,不然网关拉取接口会有问题
// 如果没有这个值,网关会忽略这个服务
metadata.put("server.startup-time", String.valueOf(System.currentTimeMillis()));
- return new NacosWatch(nacosServiceManager, nacosDiscoveryProperties, taskScheduler);
+ return new NacosWatch(nacosDiscoveryProperties, taskScheduler);
}
}