详情介绍
oim-server是OIM聊天系统的服务端,Java语言开发,Spring Cloud 微服务架构,只要机器够,用户不是问题。
OIM服务是采用Java语言开发,基于spring cloud微服务体系开发的一套即时通讯服务端。 从单机到微服务都提供了可部署方案,并且单机、微服务都可以平滑切换,客户端可以毫无感知服务变更。
特点
oim-server 可以让你像spring mvc一样开发即时通讯接口,对于有web后台开发经验,没用即时通讯服务端经验开发者,可以 轻松转换,并且兼容spring web接口。如下示例
请求接口
@RestController
public class UserController {/**
*
* 登录<br>
* Date 2019-02-17 12:26:38<br>
*
* @param user
* @since 1.0.0
*/
@ActionMapping(value = "/user/login") // 此路同样可以用http post请求
public User login(
@Define("body.user") User user) { // "body.user"(此body是json内的body字段,不是http协议的body)
// 是http或者tcp中的消息体json属性路径{"body":{"user":{}}}
// ...省略实现内容
return user;
}
}
目录说明
|__oim-server-run # Java服务
|__cloud #微服务运行版
|__common #公共依赖的jar
|__oim-server-element-basic-* #这些是单机和微服务都依赖部分,含一些抽象定义,微服务和单机有不同实现
|__oim-server-element-cloud-* #这些是微服务所需的依赖,针对微服务的一些实现
|__service #每个运行的微服务
|__core #主要是技术管理类型微服务 如:注册中心、网关等
|__action #收集所有服务的接口地址,这样网关可以无需配置服务名,直接通过接口地址访问到对应的服务
|__admin #只是集成了spring boot admin
|__center #注册中心
|__gateway #网关
|__net #即时通讯的TCP、WebSocket等长连接服务
|__control 用于管理(net-work)用户客户端长连接服务
|__work 用户客户端长连接服务
|__support #公共支持服务 如:文件上传
|__file
|__system #针对整个系统的配置、共数据等
|__setting #
|__work #业务服务(因为business太长了,还有其他地方容易用到这个名字)
|__chat #聊天业务
|__contact #联系人
|__core #核心:用户
|__group #群
|__portal #服务地址入口
|__single #单机版
|__oim-server-single-main # 因为单机和微服务的功能模块是共用的,这里是针对一些抽象的单机实现
|__oim-server-single-running #启动服务配置
|__oim-server-web # Vue 后台管理界面
OIM开发说明
1、环境要求:
JDK 1.8.0_xxx
DB 支持MySQL Oracle SQL server 推荐MySQL 8.0
微服务还需以下:
Redis
RabbitMQ
2、关于微服务版和单机版使用
微服务版的业务代码和单机版业务代码是共用的,所以业务模块均在微服务目录下。只是在IM长连接等处理上有区别,所以单机和微服务需要不同处理的
地方抽象成接口,在不同启动服务中各自实现
3、关于部分依赖下载不下来
因为部分依赖尚未发布到maven中央库,而是在我的私库中,所以maven全局配置文件(通常在用户目录下.m2/setting.xml)中不能配置
镜像服务(中部分注释或者删掉)
私库maven配置项目中已经配置
4、关于数据库脚本
只要先创建好数据库,修改数据库配置、启动自动创建表。目前默认H2数据库创建表有问题,推荐使用MySQL 8.0
下载地址
人气源码
相关文章
-
Java轻量级类隔离框架 SOFAArk Project v2.2.14
SOFAArk 是一款基于 Java 实现的动态热部署和轻量级类隔离框架,由蚂蚁集团开源贡献,主要提供应用模块的动态热部署和类隔离能力。欢迎需要的朋友下载使用...
-
SpringBlade微服务开发平台 v4.2.0
SpringBlade 是一个由商业级项目升级优化而来的SpringCloud分布式微服务架构、SpringBoot单体式微服务架构并存的综合型项目,采用Java8 API重构了业务代码,完全遵循阿里巴...
-
Diboot轻代码开发平台 v2.11.0
Diboot轻代码开发平台是一个面向开发人员的低代码开发平台,将重复性的工作自动化,提高质量、效率、可维护性...
-
RuoYi-activiti工作流平台源码 v4.1
RuoYi-activiti是一款以若依开源权限管理系统为基础开发平台并集成了activiti框架完成的工作流系统,旨在打造集流程设计、流程部署、流程执行、任务办理、流程监控于一体的...
-
RuoYi若依权限管理系统 v4.7.9
RuoYi若依权限管理系统是一个基于SpringBoot的权限管理系统,代码易读易懂、界面简洁美观, 核心技术采用Spring、MyBatis、Shiro没有任何其它重度依赖,喜欢的朋友快来下载...
-
Java Struts2漏洞复现工具
今天给大家分享Java Struts2漏洞复现工具,喜欢的朋友快来下载体验吧...
-
java操作excel的jar包(jxl.jar包 源码)
jxl.jar是通过java操作excel表格的工具类库,能够修饰单元格属性,是由java语言开发而成的,接下来通过本文给大家介绍java操作excel的jar包(jxl.jar包 源码),喜欢的朋友快...
-
springboot整合QuartJob实现定时器实时管理源代码
Quartz是一个完全由java编写的开源作业调度框架,形式简易,功能强大,,下面给大家分享springboot整合QuartJob实现定时器实时管理源代码,感兴趣的朋友快来下载体验吧...
-
SOFABoot开源框架 v3.24.0
SOFABoot 是蚂蚁集团开源的基于 Spring Boot 的研发框架,它在 Spring Boot 的基础上,提供了诸如 Readiness Check,上下文隔离,类隔离,日志空间隔离等等能力...
-
基于SSM的应急资源管理系统源码 v1.0
应急资源管理系统用的是是比较流行的SSM和前端JSP技术,用它来创建使用脚本语言,结合HTML代码来制作动态 网页,欢迎需要的朋友下载使用...
下载声明
☉ 解压密码:www.jb51.net 就是本站主域名,希望大家看清楚,[ 分享码的获取方法 ]可以参考这篇文章
☉ 推荐使用 [ 迅雷 ] 下载,使用 [ WinRAR v5 ] 以上版本解压本站软件。
☉ 如果这个软件总是不能下载的请在评论中留言,我们会尽快修复,谢谢!
☉ 下载本站资源,如果服务器暂不能下载请过一段时间重试!或者多试试几个下载地址
☉ 如果遇到什么问题,请评论留言,我们定会解决问题,谢谢大家支持!
☉ 本站提供的一些商业软件是供学习研究之用,如用于商业用途,请购买正版。
☉ 本站提供的oim-server(OIM聊天系统的服务端) v1.0资源来源互联网,版权归该下载资源的合法拥有者所有。