MQTT---HiveMQ源代碼具體解釋(四)插件載入

源博客地址:http://blog.csdn.net/pipinet123css


MQTT交流羣:221405150


實現功能

將所有放在plugins文件夾下的所有符合plugin編寫規範的plugin jar包載入到整個guice context中markdown

實現步驟

一、找到所有plugin文件夾下的所有jar包
二、分別找到jar包中META-INF/services/com.hivemq.spi.HiveMQPluginModule文件讀取第三方plugin配置的HiveMQPluginModule子類全路徑
三、而後依次實例化它。ide

類圖

這裏寫圖片描寫敘述

此次的類圖比上次的相比簡單多了,載入機制也跟其它的有plugin機制的載入比較類似。因此大概說一下載入步驟就能夠。post

一、PluginBootstrap經過PluginLoader去載入Plugin,得到到HiveMQPluginModule的列表,並將其註冊到guice中。
二、PluginLoader使用PluginFinder得到到所有Plugin類型,並使用IsolatedPluginLoader對多餘的依賴進行排除,並實例化出來相應的HiveMQPluginModule實現的實例。
三、這樣所有插件就可以載入出來了。ui

詳細的插件開發以及體會本文中的載入處理方式。需要你們開發一個HiveMQ插件,就可以對本文中的處理邏輯。
http://www.hivemq.com/docs/plugins/latest/.net

演示樣例

在HiveMQ官網有各類插件演示樣例源代碼。經過他們的Plugin Developer Guide相信你們可以開發出符合本身業務的插件,實現本身的業務邏輯處理。插件

http://www.hivemq.com/plugins/blog

相關文章
相關標籤/搜索