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應該就是沒問題的。不信?我們來看看效果怎么樣

確實是沒問題的,不過本項目還是應該還有部分坑存在,再次將源碼分享給大家,希望大家一起踩坑,且本人平時較忙所以相關項目的代碼維護也是有時間才弄的,畢竟最近在准備(軟考中級的設計師,且對機器學習也有了興趣),嗯,各位應該懂的!


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM