소스 검색

数据发送的时候擦除nettymessage泛型

lgy 3 년 전
부모
커밋
78c93cd887

+ 4 - 1
src/main/java/com/persagy/netty/client/NettyClient.java

@@ -1,5 +1,6 @@
 package com.persagy.netty.client;
 
+import com.alibaba.fastjson.JSONObject;
 import com.persagy.constant.CommonConst;
 import com.persagy.entity.NettyMessage;
 import com.persagy.job.NettyMessageQueue;
@@ -59,7 +60,9 @@ public class NettyClient {
         log.info("给云端发送数据:[{}]", msg);
         if (channel.isWritable()) {
             try {
-                channel.writeAndFlush(msg);
+                //!!!!!!注意,NettyMessage<T>是有泛型的,如果把发送一个数据,接收方必须有一个和<T>的全限定类名完全一样的实体类,
+                //发送方不应该限制接收方,所有使用JSONObject.parseObject(msg.toString(), NettyMessage.class)操作让泛型擦除掉
+                channel.writeAndFlush(JSONObject.parseObject(msg.toString(), NettyMessage.class));
             } catch (Exception e) {
                 log.error("发送数据异常,放入缓冲队列中", e);
                 NettyMessageQueue.getNettyMessageQueue().produce(msg);

+ 7 - 3
src/main/resources/application-39Pj5001120003.yml

@@ -1,6 +1,6 @@
 group:
   #需要更改
-  code: XG   #标识哪个接团 比如万达使用WD
+  code: XG   #标识哪个接团
   alarm:
     #需要更改
     host: 127.0.0.1 #39.102.43.179  #netty IP
@@ -19,6 +19,10 @@ terminal: #边缘端IOT采集程序地址
     suffix: websocket   #websocker后缀
 project:
   #需要更改
-  iotid: 5001120003 #4403070003  #iot使用项目ID,不包含PJ
+  iotid: 5001120003 #iot使用项目ID,不包含PJ
   #需要更改
-  id: Pj5001120003 #Pj4403070003   #项目ID
+  id: Pj5001120003 #项目ID
+spring:
+  datasource:
+    #需要更改
+    url: jdbc:mysql://39.102.43.179:9934/alarm-quartz-xg?useUnicode=true&characterEncoding=utf-8&useSSL=false&serverTimezone=Asia/Shanghai&autoReconnect=true&failOverReadOnly=false

+ 5 - 1
src/main/resources/application-Pj4403070003.yml

@@ -21,4 +21,8 @@ project:
   #需要更改
   iotid: 4403070003 #iot使用项目ID,不包含PJ
   #需要更改
-  id: Pj4403070003 #项目ID
+  id: Pj4403070003 #项目ID
+spring:
+  datasource:
+    #需要更改
+    url: jdbc:mysql://39.102.43.179:9934/alarm-quartz-wd?useUnicode=true&characterEncoding=utf-8&useSSL=false&serverTimezone=Asia/Shanghai&autoReconnect=true&failOverReadOnly=false

+ 1 - 1
src/main/resources/application.yml

@@ -9,7 +9,7 @@ spring:
     active: 39Pj5001120003 #39Pj5001120003 #Pj4403070003
   datasource:
     #需要更改
-    url: jdbc:mysql://39.102.43.179:9934/alarm-quartz-xg?useUnicode=true&characterEncoding=utf-8&useSSL=false&serverTimezone=Asia/Shanghai&autoReconnect=true&failOverReadOnly=false
+    url: jdbc:mysql://39.102.43.179:9934/alarm-quartz?useUnicode=true&characterEncoding=utf-8&useSSL=false&serverTimezone=Asia/Shanghai&autoReconnect=true&failOverReadOnly=false
     driver-class-name: com.mysql.jdbc.Driver  # mysql8.0以前使用com.mysql.jdbc.Driver
     #需要更改
     username: root