SSM整合Netty5.0详细说明

阅读本文约“3.2分钟”

最近又有粉丝加Q群讨论netty整合SSM项目的方式等,我在这里抽了休息日的时候整理一下,一步一步的记录,注意的是,本案例仅实现了用netty整合SSM后与单片机等类TCP应用通信。

项目以防止github,接下来的文档代码块均用截图表示,大家可以去github查看具体的代码资料

首先我用IDEA进行项目的初始化

接下初始化对应的pom文件还有配置文件

主要还是版本问题,其他版本我还没试过,所以坑的话,大家还要继续踩踩。

主要是netty中连接池对数据的处理,是在线程中执行的,Spring框架注入的Service组件存在失效的问题,我使用了大部分办法还是无法处理,最后就直接用原生的mybatis方式进行数据操作,所以congif文档是针对netty操作数据库而特别准备的配置文件。mappers可以时mybatis自动生成,也可以是自己写的xml文件。

本项目的mybatis集成Spring也是完好的,静静netty的数据操作需要再定义一层数据持续化池。

项目通过引入netty5.0,通过监听器形式,启动netty线程(NettyServerThread),于后启动对应的NettyServer,其中启动永久监听还有定义自己的TCPServerhandler,在数据读取方法中,重新定义自己的业务处理。 在接收成功,数据格式正常的情况下,执行对应的数据层操作,且每一个实例连接进来时,系统内存会对其进行ID与实例的绑定与存储,也因此方便Controller层对其链接实例进行查询信息与下发指令。

相关目录介绍均以放置Github上了哟。

地址:https://github.com/UncleCatMySelf/ssmnetty

没错就是 UncleCatMySelf ,本人地址下最新的项目。

接下来我们来看看项目的实测调试效果吧,我们需要运行CRC16跑出对应通信格式的密文,然后再由TCPIPMyself去执行,当然首先是运行起我们的项目。

服务器接收成功后也会执行相应的任务,这里第一次执行错误,是因为业务上,这条ID是在数据库里面不存在的,所以更新失败。

而我们项目在实测时也是将项目发布到测试服务器,通过TCP模拟工具进行测试连接,当数据格式正常,且业务数据正常,服务器就会对指令执行对应的操作。

我们再看看API方面的问题,当实例连接正常时,暴露出来的nettyAPI应该就是没问题的。不信?我们来看看效果怎么样

确实是没问题的,不过本项目还是应该还有部分坑存在,再次将源码分享给大家,希望大家一起踩坑,且本人平时较忙所以相关项目的代码维护也是有时间才弄的,毕竟最近在准备(软考中级的设计师,且对机器学习也有了兴趣),嗯,各位应该懂的!

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20180709G0NMSV00?refer=cp_1026
  • 腾讯「云+社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 yunjia_community@tencent.com 删除。

扫码关注云+社区

领取腾讯云代金券