# mini-message **Repository Path**: ithuameng/mini-message ## Basic Information - **Project Name**: mini-message - **Description**: 使用netty+rabbitmq搭建的一个极简的消息通知案例,包括管理员上线获取新消息,管理员在线时后台自动推送新消息 - **Primary Language**: Unknown - **License**: Apache-2.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 15 - **Forks**: 4 - **Created**: 2022-05-17 - **Last Updated**: 2024-09-28 ## Categories & Tags **Categories**: message-server **Tags**: Netty, RabbitMQ, 消息通知 ## README mini-message是一个用于用户向管理员后台发送消息的简单消息通知案例,包括管理员上线获取新消息,管理员在线时后台自动推送新消息,管理员下线时新消息依然可以发送,可以经过改装此案例代码完成类似于文章点赞,创建订单的消息通知功能 | 上线获取消息 | 在线自动推送消息 | |--------|----------| | ![输入图片说明](https://images.gitee.com/uploads/images/2022/0517/111012_c6e8d963_7728809.png "第一次加载页面时获取消息.png") | ![输入图片说明](https://images.gitee.com/uploads/images/2022/0517/111027_7227b689_7728809.png "用户在线时自动推送消息.png") | **_项目运行步骤_** 1.创建notice数据库,将notice.sql文件执行 ```sql CREATE TABLE `t_notice` ( `id` bigint(20) NOT NULL COMMENT '编号', `receiver_id` int(11) NOT NULL COMMENT '接收消息用户的ID/管理员', `operator_id` bigint(20) NOT NULL COMMENT '进行操作用户的ID/会员', `content` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '消息内容', `state` tinyint(1) NOT NULL DEFAULT 0 COMMENT '消息状态 0未读 1已读', `create_time` datetime NULL DEFAULT NULL COMMENT '发送时间', PRIMARY KEY (`id`) USING BTREE ) ENGINE = InnoDB CHARACTER SET = latin1 COLLATE = latin1_swedish_ci ROW_FORMAT = COMPACT; ``` 2.安装redis 3.安装rabbitmq 使用guest账号密码登录rabbitmq创建交换机:system_notice_exchange,类型是fanout ![输入图片说明](https://images.gitee.com/uploads/images/2022/0517/111158_dfc65f50_7728809.png "rabbitmq创建交换机.png") 4.运行项目,执行如下接口完成rabbitmq的exchange和queue的绑定 > http://localhost:8888/netty/binding 5.访问 message.html 进入获取消息页面 ![输入图片说明](https://images.gitee.com/uploads/images/2022/0517/111145_6113027a_7728809.png "消息页面.png") 6.调用接口,模拟会员用户向管理员发送消息 > http://localhost:8888/notice/send?message=发送一条消息