场景

若依(基于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服务端的搭建相关推荐

  1. 若依(基于SpringBoot的权限管理系统)的快速搭建

    场景 若依管理系统 基于SpringBoot的权限管理系统 官网地址: http://www.ruoyi.vip/ 下载地址: https://gitee.com/y_project/RuoYi 注: ...

  2. 基于安卓的企业物流管理系统(Android客户端+JavaSSM服务端开发的物流管理APP)

    摘 要 随着互联网的技术的快速发展和无线网络的更新迭代,使4G网络已成为过去式5G网络蓬勃发展.技术的发展,硬件的提高使人们使用智能手机可以更加快速.便捷的浏览信息.获取信息. 本文首先介绍企业物流管 ...

  3. 基于SpringBoot的房屋租赁管理系统的设计与实现

    基于SpringBoot的房屋租赁管理系统的设计与实现 1 绪论 1.1 课题来源 随着社会的不断发展以及大家生活水平的提高,越来越多的年轻人选择在大城市发展.在大城市发展就意味着要在外面有一处安身的 ...

  4. 基于SpringBoot的库存管理系统

    基于SpringBoot的库存管理系统 库存管理系统 项目简介 功能简介 技术选型 数据库设计 代码结构 界面设计 代码获取 库存管理系统 项目简介 本项目为库存管理系统,实现了供销管理.进退货管理. ...

  5. 基于 SpringBoot 的人事管理系统的设计与实现

    1,项目介绍 基于 SpringBoot 的人事管理系统拥有两种角色,分别为管理员和用户.. 本系统为职工人事管理系统.系统分为七大模块:职工管理,部门管理,岗位管理,招聘管理,奖惩管理,薪资管理,培 ...

  6. 基于SpringBoot的毕业论文管理系统的设计与实现(开题报告)

    基于Spring Boot的毕业论文管理系统 研究的背景与意义 随着信息化时代的到来,高校的管理工作也面临着信息化改革.目前,各大高校纷纷引入教务管理信息系统来加强和改善对学生.教师以及各种教务信息的 ...

  7. 基于SpringBoot框架的管理系统【完整项目源码】

    基于SpringBoot框架的管理系统 介绍 基于SpringBoot框架的管理系统 简洁版 : 实现 登录 . 注册 . 增 . 删 . 改 . 查 : 可继续完善增加前端.校验.其他功能等: 可作 ...

  8. SpringBoot后台权限管理系统(三)—权限模块

    SpringBoot 后台权限框架搭建(一)-后台框架搭建 SpringBoot后台权限管理系统(二)-前端工程搭建 SpringBoot后台权限管理系统(三)-权限模块 SpringBoot后台权限 ...

  9. 基于springboot的超市管理系统(源码+数据库)003

    代码地址 https://gitee.com/ynwynwy/springboot-thymeleaf-supermarket-system-master-public 基于springboot的超市 ...

最新文章

  1. 基于deep learning的快速图像检索系统
  2. shell脚本游戏之:剪刀石头布
  3. 客户端支持的cookie
  4. 办公技巧:Excel教程36个逆天功能,全面了解一下!
  5. 计算机部件动漫,因一个片段肝了整部番,电脑配件上榜,它满屏“虎狼之词”...
  6. 使用LayoutParams设置布局
  7. fooking文档(不定期更新)
  8. python语言程序设计实践教程上海交通大学出版社的答案_高等教育出版社出版社c语言程序设计实践教程习题参考答案...
  9. vue前端项目的结构以及组成部分
  10. 中南大学计算机基础考试试题,[中学]中南大学计算机基础考试题库试题.doc
  11. OpenGL红宝书正序解读(二)
  12. 单片机计算机基础知识总结,自学单片机第九篇:基础知识--计算机基础操作
  13. js模仿f11全屏_Js浏览器全屏代码(模仿按F11)
  14. php mysql常见面试题_PHP常见面试题总结
  15. Python中pass的使用
  16. Nature:用2斤DNA就能存储世界上所有的数据
  17. 存储过程常用开关(set命令解析)
  18. Sun工作站Solaris系统设置双屏显示
  19. 蓝牙室内定位,SOC芯片NRF52832
  20. STM32使用串口1配合DMA接收不定长数据,减轻CPU载荷

热门文章

  1. python——变量的类型、不同类型变量的计算、变量的输入以及格式化输出
  2. linux——shell 中的运算
  3. 哈尔滨工业大学-数据库系统(基本知识与关系模型3)
  4. E1. Rubik‘s Cube Coloring (easy version) 贪心,满二叉树(1300)
  5. 电影点评系统论文java_毕业设计(论文)-基于web的电影点评系统分析与设计.docx...
  6. 大庆东风中学高考成绩查询2021年,2021年大庆中考成绩和分数线什么时候公布(附查询入口)...
  7. springcloud feign 加上hystrix的流程
  8. 如何避免_旅游住宿如何避免雷区?
  9. mplus 软件_Mplus 8.3 Combo Version 多元统计分析软件(Win)
  10. ubuntu下载搜狗输入法并设置开机自启动