您好,登錄后才能下訂單哦!
如何進行mqtt協議中broker的moqutte源碼分析,相信很多沒有經驗的人對此束手無策,為此本文總結了問題出現的原因和解決方法,通過這篇文章希望你能解決這個問題。
mqtt協議的broker有很多,但是java的支持集群的并不多,之前調研過一番,發現moqutte基本滿足需求,就想著基于這個在自己做二次開發。
github地址:https://github.com/andsel/moquette
一。將代碼倒入idea
找到啟動類
啟動報錯,是因為找不到moquette的配置文件
跟蹤源碼moquette的配置文件地址是config/moquette.conf
因為咱們是直接啟動的Server類里面的main方法,而不是通過assebely打包的jar包,所有這個位置是沒有配置文件的,但是moquette支持通過啟動參數指定配置文件的位置
那就簡單了,把啟動需要的配置文件放到本地的某個地方,再通過啟動參數指定就行了,在idea里面指定
我是放在/data/moquette目錄下
另外idea啟動需要的配置文件再,broker模塊下的config包里面,或者distribution/src/main/resources
加入之后啟動成功
二。配置文件講解
moqutte的配置文件有五個,下面分別講解一個有什么作用
1.moquette.conf 主配置文件,moquette啟動需要的主要配置都在這里,包括端口號,認證鑒權,存儲等,后面講解源碼的時候會詳細講解各個參數的意義
2.hazelcast.xml moquette的集群是通過.hazelcast來實現的,不了解的同學可以自行google一下,這里就不詳細講了
3.password_file.conf 這里配置的是連接是需要的密碼
4.acl.conf 這里是各個client對topic的讀寫權限
5.log4j.properties 日志文件,不多說了
三。客戶端選擇,本人選擇的是eclipse的paha,github地址https://github.com/eclipse/paho.mqtt.java
倒入idea之后找到如下的測試類
在moquette的io.moquette.server.netty.NettyMQTTHandler類上的打斷點,重新啟動
啟動paha的測試類,開始測試
發現moquette的斷點進來了,說明client到broker的鏈路走通了,后面就可以跟蹤源碼了
之所以在這打斷點是因為這是netty與其他應用的接入點,對netty了解的同學應該知道,應用其實只需要實現一個handler,當有數據流的時候,由netty負責回調你的handler。
看完上述內容,你們掌握如何進行mqtt協議中broker的moqutte源碼分析的方法了嗎?如果還想學到更多技能或想了解更多相關內容,歡迎關注億速云行業資訊頻道,感謝各位的閱讀!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。