diff --git a/.gitignore b/.gitignore index 49776a5..6266bf4 100644 --- a/.gitignore +++ b/.gitignore @@ -33,3 +33,4 @@ build/ /.mvn/ /tcpServer.2022-04-21.log /log/ +/logs/ diff --git a/logs/iip-gateway/error.log b/logs/iip-gateway/error.log deleted file mode 100644 index e69de29..0000000 diff --git a/logs/iip-gateway/info.log b/logs/iip-gateway/info.log deleted file mode 100644 index f7089aa..0000000 --- a/logs/iip-gateway/info.log +++ /dev/null @@ -1,3 +0,0 @@ -13:57:53.617 [main] INFO c.i.t.TcpserverApplicationTests - [logStarting,55] - Starting TcpserverApplicationTests on QYL-HP-ZHAN66 with PID 2140 (started by gabri in E:\qinyl\intellij\src\inspect-tcpserver) -13:57:53.620 [main] INFO c.i.t.TcpserverApplicationTests - [logStartupProfileInfo,651] - No active profile set, falling back to default profiles: default -13:57:57.360 [main] INFO c.i.t.TcpserverApplicationTests - [logStarted,61] - Started TcpserverApplicationTests in 4.041 seconds (JVM running for 4.967) diff --git a/logs/inspect-tcpserver/info.log b/logs/inspect-tcpserver/info.log index 3038c55..b9cabf0 100644 --- a/logs/inspect-tcpserver/info.log +++ b/logs/inspect-tcpserver/info.log @@ -49,3 +49,24 @@ 17:35:29.960 [main] INFO c.i.t.TcpserverApplicationTests - [logStarting,55] - Starting TcpserverApplicationTests on QYL-HP-ZHAN66 with PID 37836 (started by gabri in E:\qinyl\intellij\src\inspect-tcpserver) 17:35:29.963 [main] INFO c.i.t.TcpserverApplicationTests - [logStartupProfileInfo,651] - No active profile set, falling back to default profiles: default 17:35:34.024 [main] INFO c.i.t.TcpserverApplicationTests - [logStarted,61] - Started TcpserverApplicationTests in 4.386 seconds (JVM running for 5.495) +17:55:19.084 [main] INFO c.i.t.TcpserverApplicationTests - [logStarting,55] - Starting TcpserverApplicationTests on QYL-HP-ZHAN66 with PID 45456 (started by gabri in E:\qinyl\intellij\src\inspect-tcpserver) +17:55:19.088 [main] INFO c.i.t.TcpserverApplicationTests - [logStartupProfileInfo,651] - No active profile set, falling back to default profiles: default +17:55:22.553 [main] INFO c.i.t.TcpserverApplicationTests - [logStarted,61] - Started TcpserverApplicationTests in 3.76 seconds (JVM running for 4.676) +18:06:35.959 [main] INFO c.i.t.TcpserverApplicationTests - [logStarting,55] - Starting TcpserverApplicationTests on QYL-HP-ZHAN66 with PID 24416 (started by gabri in E:\qinyl\intellij\src\inspect-tcpserver) +18:06:35.963 [main] INFO c.i.t.TcpserverApplicationTests - [logStartupProfileInfo,651] - No active profile set, falling back to default profiles: default +18:06:39.353 [main] INFO c.i.t.TcpserverApplicationTests - [logStarted,61] - Started TcpserverApplicationTests in 3.705 seconds (JVM running for 4.655) +18:09:41.570 [main] INFO c.i.t.TcpserverApplicationTests - [logStarting,55] - Starting TcpserverApplicationTests on QYL-HP-ZHAN66 with PID 6080 (started by gabri in E:\qinyl\intellij\src\inspect-tcpserver) +18:09:41.574 [main] INFO c.i.t.TcpserverApplicationTests - [logStartupProfileInfo,651] - No active profile set, falling back to default profiles: default +18:09:45.821 [main] INFO c.i.t.TcpserverApplicationTests - [logStarted,61] - Started TcpserverApplicationTests in 4.587 seconds (JVM running for 5.699) +18:11:01.755 [main] INFO c.i.t.TcpserverApplicationTests - [logStarting,55] - Starting TcpserverApplicationTests on QYL-HP-ZHAN66 with PID 23472 (started by gabri in E:\qinyl\intellij\src\inspect-tcpserver) +18:11:01.760 [main] INFO c.i.t.TcpserverApplicationTests - [logStartupProfileInfo,651] - No active profile set, falling back to default profiles: default +18:11:06.336 [main] INFO c.i.t.TcpserverApplicationTests - [logStarted,61] - Started TcpserverApplicationTests in 5.033 seconds (JVM running for 6.169) +18:16:54.865 [main] INFO c.i.t.TcpserverApplicationTests - [logStarting,55] - Starting TcpserverApplicationTests on QYL-HP-ZHAN66 with PID 40552 (started by gabri in E:\qinyl\intellij\src\inspect-tcpserver) +18:16:54.874 [main] INFO c.i.t.TcpserverApplicationTests - [logStartupProfileInfo,651] - No active profile set, falling back to default profiles: default +18:17:03.531 [main] INFO c.i.t.TcpserverApplicationTests - [logStarted,61] - Started TcpserverApplicationTests in 9.36 seconds (JVM running for 11.293) +18:17:35.846 [main] INFO c.i.t.TcpserverApplicationTests - [logStarting,55] - Starting TcpserverApplicationTests on QYL-HP-ZHAN66 with PID 45032 (started by gabri in E:\qinyl\intellij\src\inspect-tcpserver) +18:17:35.858 [main] INFO c.i.t.TcpserverApplicationTests - [logStartupProfileInfo,651] - No active profile set, falling back to default profiles: default +18:17:42.310 [main] INFO c.i.t.TcpserverApplicationTests - [logStarted,61] - Started TcpserverApplicationTests in 7.101 seconds (JVM running for 9.036) +18:20:19.597 [main] INFO c.i.t.TcpserverApplicationTests - [logStarting,55] - Starting TcpserverApplicationTests on QYL-HP-ZHAN66 with PID 34856 (started by gabri in E:\qinyl\intellij\src\inspect-tcpserver) +18:20:19.603 [main] INFO c.i.t.TcpserverApplicationTests - [logStartupProfileInfo,651] - No active profile set, falling back to default profiles: default +18:20:27.444 [main] INFO c.i.t.TcpserverApplicationTests - [logStarted,61] - Started TcpserverApplicationTests in 8.384 seconds (JVM running for 10.432) diff --git a/src/main/java/com/inspect/tcpserver/tcp/DownXml2Json.java b/src/main/java/com/inspect/tcpserver/tcp/DownXml2Json.java index de15211..d0877ea 100644 --- a/src/main/java/com/inspect/tcpserver/tcp/DownXml2Json.java +++ b/src/main/java/com/inspect/tcpserver/tcp/DownXml2Json.java @@ -23,23 +23,26 @@ public class DownXml2Json { this.alias = alias; } - public String DownStreamJson2Xml(String json, Class clazz) { + public String DownStreamJson2Xml(String xml, Class clazz) { try { XStream xStream = new XStream(new Xpp3Driver(new NoNameCoder())); - xStream.autodetectAnnotations(true); xStream.alias(alias, clazz); - T obj = JSON.parseObject(json, clazz); - return xStream.toXML(obj); + xStream.autodetectAnnotations(true); + xStream.ignoreUnknownElements(); + xStream.addPermission(AnyTypePermission.ANY); + T obj = (T) xStream.fromXML(xml); + return JSON.toJSONString(obj); } catch (com.thoughtworks.xstream.XStreamException e) { logger.error("################ DOWN解析失败[PatrolHost] ################"); logger.error("################ DOWN异常堆栈 ################\n{}", ExceptionUtils.getStackTrace(e)); try { XStream xStream = new XStream(new Xpp3Driver(new NoNameCoder())); - xStream.autodetectAnnotations(true); xStream.alias(deviceAlias, clazz); - - T obj = JSON.parseObject(json, clazz); - return xStream.toXML(obj); + xStream.autodetectAnnotations(true); + xStream.ignoreUnknownElements(); + xStream.addPermission(AnyTypePermission.ANY); + T obj = (T) xStream.fromXML(xml); + return JSON.toJSONString(obj); } catch (com.thoughtworks.xstream.XStreamException ex) { logger.error("################ DOWN解析失败[PatrolDevice] ################"); logger.error("################ DOWN异常堆栈 ################\n{}", ExceptionUtils.getStackTrace(ex)); diff --git a/src/main/java/com/inspect/tcpserver/tcp/NettyServer.java b/src/main/java/com/inspect/tcpserver/tcp/NettyServer.java index 41a55e6..b4b6105 100644 --- a/src/main/java/com/inspect/tcpserver/tcp/NettyServer.java +++ b/src/main/java/com/inspect/tcpserver/tcp/NettyServer.java @@ -201,7 +201,7 @@ public class NettyServer { command = Integer.parseInt(root.element("Command").getText()); } - logger.info("################ 消息类型: {} ################", type); + logger.info("################ 消息类型: {}, 消息体: ################ \n{}", type, xml); //判断是否重发 if (type == SystemType.system) { if (command == SystemType.has_response || command == SystemType.no_response) { @@ -258,45 +258,53 @@ public class NettyServer { } break; case PushType.patrolDeviceState: - json = downXml2Json.PatrolDeviceStateControlXml2Json(xml); +// json = downXml2Json.PatrolDeviceStateControlXml2Json(xml); + json = downXml2Json.DownStreamJson2Xml(xml, PatrolDeviceStateControl.class); logger.info("################ 客户端设备状态数据 ################ \n{}", json); break; case PushType.patrolDeviceRunning: - json = downXml2Json.PatrolDeviceRunningControlXml2Json(xml); +// json = downXml2Json.PatrolDeviceRunningControlXml2Json(xml); + json = downXml2Json.DownStreamJson2Xml(xml, PatrolDeviceRuningControl.class); logger.info("################ 客户端设备运行数据 ################ \n{}", json); break; case PushType.nestState: - json = downXml2Json.NestStateControlXml2Json(xml); +// json = downXml2Json.NestStateControlXml2Json(xml); + json = downXml2Json.DownStreamJson2Xml(xml, NestStateControl.class); logger.info("################ 客户端机巢状态数据 ################ \n{}", json); break; case PushType.nestRunning: - json = downXml2Json.NestRunningControlXml2Json(xml); +// json = downXml2Json.NestRunningControlXml2Json(xml); + json = downXml2Json.DownStreamJson2Xml(xml, NestRuningControl.class); logger.info("################ 客户端机巢运行数据 ################ \n{}", json); break; case PushType.location: - json = downXml2Json.LocationControlXml2Json(xml); +// json = downXml2Json.LocationControlXml2Json(xml); + json = downXml2Json.DownStreamJson2Xml(xml, LocationControl.class); logger.info("################ 客户端设备坐标 ################ \n{}", json); break; case PushType.route: - json = downXml2Json.RouteControlXml2Json(xml); +// json = downXml2Json.RouteControlXml2Json(xml); + json = downXml2Json.DownStreamJson2Xml(xml, RouteControl.class); logger.info("################ 客户端设备路线 ################ \n{}", json); break; case PushType.alarm: - //json = down.AlarmControlXml2Json(xml); +// json = down.AlarmControlXml2Json(xml); json = downXml2Json.DownStreamJson2Xml(xml, AlarmControl.class); logger.info("################ 客户端设备异常告警 ################ \n{}", json); break; case PushType.environment: - //json = downXml2Json.EnvironmentControlXml2Json(xml); +// json = downXml2Json.EnvironmentControlXml2Json(xml); json = downXml2Json.DownStreamJson2Xml(xml, EnvironmentControl.class); logger.info("################ 客户端设备上报环境数据 ################ \n{}", json); break; case PushType.taskState: - json = downXml2Json.TaskStateControlXml2Json(xml); +// json = downXml2Json.TaskStateControlXml2Json(xml); + json = downXml2Json.DownStreamJson2Xml(xml, TaskStateControl.class); logger.info("################ 客户端设备任务状态 ################ \n{}", json); break; case PushType.result: - json = downXml2Json.TaskResultControlXml2Json(xml); +// json = downXml2Json.TaskResultControlXml2Json(xml); + json = downXml2Json.DownStreamJson2Xml(xml, TaskResultControl.class); logger.info("################ 客户端巡视结果 ################ \n{}", json); break; default: