日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > windows >内容正文

windows

若依(基于SpringBoot的权限管理系统)集成MobileIMSDK实现IM服务端的搭建

發布時間:2025/3/19 windows 23 豆豆
生活随笔 收集整理的這篇文章主要介紹了 若依(基于SpringBoot的权限管理系统)集成MobileIMSDK实现IM服务端的搭建 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

場景

若依(基于SpringBoot的權限管理系統)的快速搭建:

https://blog.csdn.net/BADAO_LIUMANG_QIZHI/article/details/111030441

MobileIMSDK怎樣將Java服務端運行起來以及打成jar包運行:

https://blog.csdn.net/BADAO_LIUMANG_QIZHI/article/details/110128757

上面講過怎樣單獨將若依管理系統和MobileIMSDK的服務端單獨運行起來。

MobileIMSDK除了可以作為Java Application單獨運行起來,還可以作為Web工程里作為子項目運行。

注:

博客:
https://blog.csdn.net/badao_liumang_qizhi
關注公眾號
霸道的程序猿
獲取編程相關電子書、教程推送與免費下載。

實現

放在Web工程中運行的原理是,在一個SpringBoot項目啟動后運行MobileIMSDK的啟動類ServerLaunchImpl

的startup方法。

這樣就能在啟動SpringBoot項目的同時將MobileIMSDK的服務啟動,同時還可以使用SpringBoot去擴展其他的服務,比如語音消息的實現。

首先將MobileIMSDK的項目下載下來之后

IM服務端的代碼的位置在demo_src下的MobileIMSDKServerDemo下

?

主要是有這三個類,ServerLaunchImpl是其啟動類。

然后核心業務都在其lib下的sdk的jar包中

?

這里核心sdk的源碼位置在sdk_src下

?

所以需要將服務端以及sdk的依賴添加到若依項目中,并且將sdk的源碼添加進來。根據sdk的lib下所需要的jar有

?

所以在搭建好若依項目后打開,暫且將im的服務放在ruoyi-admin模塊下,打開ruoyi-admin下的pom.xml

?

根據上面需要的jar包添加如下maven依賴

??????? <!--im驅動包--><!-- https://mvnrepository.com/artifact/com.google.code.gson/gson --><dependency><groupId>com.google.code.gson</groupId><artifactId>gson</artifactId><version>2.8.5</version></dependency><!-- https://mvnrepository.com/artifact/log4j/log4j --><dependency><groupId>log4j</groupId><artifactId>log4j</artifactId><version>1.2.17</version></dependency><!-- https://mvnrepository.com/artifact/io.netty/netty-all --><dependency><groupId>io.netty</groupId><artifactId>netty-all</artifactId><version>4.1.50.Final</version></dependency><!-- https://mvnrepository.com/artifact/com.rabbitmq/amqp-client --><dependency><groupId>com.rabbitmq</groupId><artifactId>amqp-client</artifactId><version>5.9.0</version></dependency><!-- https://mvnrepository.com/artifact/org.slf4j/slf4j-api --><dependency><groupId>org.slf4j</groupId><artifactId>slf4j-api</artifactId><version>1.7.21</version></dependency><!-- https://mvnrepository.com/artifact/org.slf4j/slf4j-log4j12 --><dependency><groupId>org.slf4j</groupId><artifactId>slf4j-log4j12</artifactId><version>1.7.21</version></dependency>

添加完依賴之后,我們在ruoyi-admin下的包路徑下新建imserver包,存放im相關的業務。

然后再新建sdk包,用來存放MobileIMSDK的sdk的源碼

然后再新建config包,用來設置SpringBoot應用啟動后啟動IM的啟動類

然后將IM的服務端的三個類復制過來

?

注意修改這三個類中import的路徑問題,都要重新修改。

然后將MobileIMSDK的sdk_src源碼下的server下的所有包和類全部復制到若依項目下sdk包下

?

然后打開sdk下的每一個類和接口,將原來的路徑下的import全部去掉,然后重新導入為自己的路徑

?

然后在imserver包下新建config包,包下新建類ChatServerRunner類

使其實現SpringBoot的CommandLineRunner接口并實現其run方法

那么run方法再SpringBoot服務啟動后就會自動被調用

修改其代碼為

package com.ruoyi.web.imserver.config;import com.ruoyi.web.imserver.ServerLauncherImpl; import org.springframework.boot.CommandLineRunner; import org.springframework.core.annotation.Order; import org.springframework.stereotype.Component;/*** <p> 啟動MobileIMSDK服務端 </p>** @author :* @description : run方法在SpringBoot服務啟動之后會自動被調用* @date :*/@Component @Order(value = 1) public class ChatServerRunner implements CommandLineRunner {@Overridepublic void run(String... strings) throws Exception {// 實例化后記得startup哦,單獨startup()的目的是讓調用者可以延遲決定何時真正啟動IM服務final ServerLauncherImpl sli = new ServerLauncherImpl();// 啟動MobileIMSDK服務端的Demosli.startup();// 加一個鉤子,確保在JVM退出時釋放netty的資源Runtime.getRuntime().addShutdownHook(new Thread(sli::shutdown));}}

然后找到ruoyi-admin下的啟動類RuoYiApplication運行,運行成功后

?

就會發現將IM的服務也啟動成功了。

為了驗證可以使用官方的Java客戶端去連接進行驗證

?

就可以連接到我本地的im服務了

?

連接成功后發送消息效果,至此整合成功。

示例代碼下載:

https://download.csdn.net/download/BADAO_LIUMANG_QIZHI/13632140

?

總結

以上是生活随笔為你收集整理的若依(基于SpringBoot的权限管理系统)集成MobileIMSDK实现IM服务端的搭建的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。