Ver código fonte

修复因为载荷数据为空时导入失败的bug

gxt 3 anos atrás
pai
commit
2230a2512e

+ 11 - 5
src/main/java/com/gct/tools/etlcamelhuge/routeconfig/CamelJDBCCofRealTimeConfiguration.java

@@ -1,7 +1,6 @@
1 1
 package com.gct.tools.etlcamelhuge.routeconfig;
2 2
 
3 3
 import com.gct.common.util.SGTUtil;
4
-import com.gct.tools.etlcamelhuge.MQ.MessageBody;
5 4
 import com.gct.tools.etlcamelhuge.MQ.MessageProducer;
6 5
 import com.gct.tools.etlcamelhuge.entity.DiagnoseMsg;
7 6
 import org.apache.camel.Message;
@@ -11,6 +10,7 @@ import org.springframework.context.annotation.Configuration;
11 10
 import org.springframework.util.StringUtils;
12 11
 
13 12
 import javax.annotation.Resource;
13
+import java.lang.management.MemoryMXBean;
14 14
 import java.math.BigDecimal;
15 15
 import java.math.RoundingMode;
16 16
 import java.time.LocalDateTime;
@@ -34,7 +34,8 @@ public class CamelJDBCCofRealTimeConfiguration  {
34 34
         for (int i = 0; i < strings.length; i++) {
35 35
             doubles[i] = Double.parseDouble(strings[i]);
36 36
         }
37
-        return Arrays.stream(doubles).min().getAsDouble();
37
+        OptionalDouble min = Arrays.stream(doubles).min();
38
+        return min.isPresent()? min.getAsDouble() : null;
38 39
     }
39 40
     //获取最大载荷
40 41
     public Double max(String[] strings){
@@ -42,7 +43,8 @@ public class CamelJDBCCofRealTimeConfiguration  {
42 43
         for (int i = 0; i < strings.length; i++) {
43 44
             doubles[i] = Double.parseDouble(strings[i]);
44 45
         }
45
-        return Arrays.stream(doubles).max().getAsDouble();
46
+        OptionalDouble max = Arrays.stream(doubles).max();
47
+        return max.isPresent() ? max.getAsDouble() : null;
46 48
     }
47 49
 
48 50
 
@@ -122,8 +124,12 @@ public class CamelJDBCCofRealTimeConfiguration  {
122 124
                             }
123 125
                         }
124 126
                         String[] loads = list.toArray(new String[0]);
125
-                        Double susp_max_load = max(loads);
126
-                        Double susp_min_load = min(loads);
127
+                         Double susp_max_load =null;
128
+                         Double susp_min_load =null;
129
+                        if (loads.length>0  ) {
130
+                            susp_max_load = max(loads);
131
+                            susp_min_load = min(loads);
132
+                        }
127 133
                         aRow.put("susp_max_load",susp_max_load);
128 134
                         aRow.put("susp_min_load",susp_min_load);
129 135
                     }