暑期电商实习项目,使用rabbitmq消息队列
amqp基础知识
等待补充。。。
1.环境准备
1.1 下载OTP(速度较慢,建议科学上网)
下载链接
选择合适的安装路径
配置环境变量
在系统变量里面的PATH中添加如下的路径
1.2 下载rabbitmq
下载链接
选择合适的路径,并配置环境变量
1.3 打开RabbitMQ服务
在开始菜单中找到命令,单击就可以了。
命令行的方式:
在sbin目录下输入:
rabbitmq-plugins enable rabbitmq_management
然后双击rabbit-server.bat文件
接着,在浏览器的地址框中输入:localhost:15672
用户名和密码都是guest。
在队列中创建一个叫emall的队列,我已经创建好了。
2.idea 项目工程
2.1 打开你的idea,创建spring initializr 项目。
项目信息
2.2 选择需要的依赖。
进一步确认你的项目信息。
我选择在新的窗口打开。
我个人喜欢使用*.yml配置文件,选中application.properties,按下shift+F6就可以更改文件名了。
修改后的文件名:
2.3 application.yml的内容
接着,在com.cnu.emall.rabbitmq包下创建MQReciever和SendMessageController类
2.4 新建MQReciever类
队列名就是刚刚在RabbitMQ中创建的emall。
content则是消息发送方发送的内容,接受方接收后打印提醒。
import org.springframework.amqp.rabbit.annotation.RabbitHandler;
import org.springframework.amqp.rabbit.annotation.RabbitListener;
import org.springframework.stereotype.Component;
@Component
public class MQReciever {
@RabbitListener(queues="emall")
@RabbitHandler
public void readMsg(String content){
System.out.println("Read Msg:"+content);
}
}
2.5 新建SendMessageController类
import org.springframework.amqp.core.AmqpTemplate;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.ResponseBody;
import org.springframework.web.bind.annotation.RestController;
@RestController
public class SendMessageController {
@Autowired
private AmqpTemplate amqpTemplate;
@GetMapping("/sendMsg")
@ResponseBody
public String sendMsg(@RequestParam(name="content") String content){
amqpTemplate.convertAndSend("emall",content);
return "ok";
}
}
2.6 运行项目
由于我们并没有设置服务的端口,默认是8080。
2.7 浏览器中发送消息到队列
2.8 在idea中查看接收情况
2020-8-14补充
在docker 中配置rabbitmq。
1.打开虚拟机
我的虚拟机安装的是ubuntu16.04,一般来说服务器都是用centos,
尽量使用centos吧,更切合实际开发需要。
2. 拉取rabbitmq镜像
docker pull rabbitmq
3.容器部署
docker run --name rabbitmq -p 15672:15672 -p 5672:5672 -d rabbitmq:latest
docker run ,–name node_name(节点名称) -p 后面是端口映射,使docker的15672和5672和linux的15672和5672端口映射。 -d 部署下载好的镜像,冒号之后是版本号。
4.镜像实例的管理控制页面
docker exec -it rabbitmq bash
5.安装管理台
rabbitmq-plugins enable rabbitmq_management
6.在win10中打开rabbitmq管理台
你需要知道你的linux的ip(建议使用桥接网卡的连接方式)
浏览器打开
host改为相应的ip地址
重新运行一下你的rabbitmq项目看看吧!
至此,spring简单的RabbitMQ的使用就完成了。
下一篇,发送邮件