Просмотр исходного кода

Merge remote-tracking branch 'origin/master'

# Conflicts:
#	jetlinks-components/common-component/src/main/resources/i18n/common-component/messages_en.properties
#	jetlinks-components/common-component/src/main/resources/i18n/common-component/messages_zh.properties
zhouhao 2 лет назад
Родитель
Сommit
52a35c353a

+ 11 - 1
jetlinks-components/common-component/src/main/java/org/jetlinks/community/config/verification/ConfigVerificationService.java

@@ -13,6 +13,7 @@ import org.springframework.web.server.ServerWebExchange;
 import reactor.core.publisher.Flux;
 import reactor.core.publisher.Mono;
 
+import java.net.URI;
 import java.net.UnknownHostException;
 import java.time.Duration;
 import java.util.Objects;
@@ -58,9 +59,18 @@ public class ConfigVerificationService {
         if (basePath == null) {
             return Mono.empty();
         }
+
+        URI uri = URI.create(CastUtils.castString(CastUtils.castString(basePath).concat(PATH_VERIFICATION_URI)));
+        if (Objects.equals(uri.getHost(), "127.0.0.1")){
+            return Mono.defer(() -> Mono.error(new BusinessException("error.base_path_host_error", 500, "127.0.0.1")));
+        }
+        if (Objects.equals(uri.getHost(), "localhost")){
+            return Mono.defer(() -> Mono.error(new BusinessException("error.base_path_host_error", 500, "localhost")));
+        }
+
         return webClient
             .get()
-            .uri(CastUtils.castString(basePath).concat(PATH_VERIFICATION_URI))
+            .uri(uri)
             .exchangeToMono(cr -> {
                 if (cr.statusCode().is2xxSuccessful()
                     && Objects.equals(cr.headers().asHttpHeaders().getFirst("auth"), PATH_VERIFICATION_URI)) {

+ 3 - 0
jetlinks-components/common-component/src/main/resources/i18n/common-component/messages_en.properties

@@ -8,4 +8,7 @@ error.base_path_DNS_resolution_failed=base-path DNS resolution failed\u3002\
   format\uFF1A{http/https}: //{IP address of the server where the front-end is located}:{Front end exposed service port}/api
 error.base_path_validate_request_timeout=base-path validate request timeout\u3002\
   format\uFF1A{http/https}: //{IP address of the server where the front-end is located}:{Front end exposed service port}/api
+
+error.base_path_host_error=The HOST for base-path cannot be: {0}, please use an intranet IP address. \
+  example: 192.168. x.x
 error.jvm_error=System Internal error

+ 1 - 0
jetlinks-components/common-component/src/main/resources/i18n/common-component/messages_zh.properties

@@ -4,4 +4,5 @@ error.duplicate_key_detail=\u91CD\u590D\u7684\u6570\u636E:{0}
 error.base_path_error=base-path\u9519\u8BEF\u3002 \u6B63\u786E\u683C\u5F0F\uFF1A{http/https}: //{\u524D\u7AEF\u6240\u5728\u670D\u52A1\u5668IP\u5730\u5740}:{\u524D\u7AEF\u66B4\u9732\u7684\u670D\u52A1\u7AEF\u53E3}/api
 error.base_path_DNS_resolution_failed=base-path DNS\u89E3\u6790\u5931\u8D25\u3002\u6B63\u786E\u683C\u5F0F\uFF1A{http/https}: //{\u524D\u7AEF\u6240\u5728\u670D\u52A1\u5668IP\u5730\u5740}:{\u524D\u7AEF\u66B4\u9732\u7684\u670D\u52A1\u7AEF\u53E3}/api
 error.base_path_validate_request_timeout=base-path \u8BF7\u6C42\u9A8C\u8BC1\u8D85\u65F6\u3002\u6B63\u786E\u683C\u5F0F\uFF1A{http/https}: //{\u524D\u7AEF\u6240\u5728\u670D\u52A1\u5668IP\u5730\u5740}:{\u524D\u7AEF\u66B4\u9732\u7684\u670D\u52A1\u7AEF\u53E3}/api
+error.base_path_host_error=base-path\u7684HOST\u4E0D\u80FD\u4E3A:{0}\uFF0C\u8BF7\u4F7F\u7528\u5185\u7F51IP\u5730\u5740\u3002\u5982\uFF1A192.168.x.x
 error.jvm_error=\u7CFB\u7EDF\u5185\u90E8\u9519\u8BEF

+ 1 - 3
jetlinks-manager/device-manager/src/main/java/org/jetlinks/community/device/service/data/DatabaseDeviceLatestDataService.java

@@ -131,9 +131,7 @@ public class DatabaseDeviceLatestDataService implements DeviceLatestDataService
                 BufferSettings.create("./data/buffer", buffer),
                 Buffer::new,
                 this::doWrite)
-            .name("device-latest-data")
-            //最大缓冲10万条数据
-            .settings(setting -> setting.bufferSize(10_0000));
+            .name("device-latest-data");
 
         writer.start();