RabbitMQ——02入门

1. 认识消息队列

1.1 Provider

消息生产者, 就是投递消息的程序。

1.2 Consumer

消息消费者, 就是接受消息的程序。

1.3 队列

1)队列就像存放了商品的仓库或者商店, 是生产商品的工厂和购买商品的用户之间的中转站

2)在 rabbitMQ 中, 信息流从你的应用程序出发, 来到 Rabbitmq 的队列, 所有信息可以只存储在一个队列中。 队列可以存储很多信息, 因为它基本上是一个无限制的缓冲区, 前提是你的机器有足够的存储空间

3)多个生产者可以将消息发送到同一个队列中, 多个消息者也可以只从同一个队列接收数据。

2. 编写rabbitMQ入门案例

2.1 环境搭建

2.1.1 坐标引入

<!-- rabbitMQ -->
<dependency>
	<groupId>org.springframework.boot</groupId>
	<artifactId>spring-boot-starter-amqp</artifactId>
</dependency>

2.1.2 在全局配置文件添加rabbitMQ相关配置

## 配置项目名称(非必须配置)
spring.application.name=springcloud-mq
## 配置mq服务器地址
spring.rabbitmq.host=192.168.25.130
## 配置端口号  注意:rabbitMQ的web监控端口是15672
spring.rabbitmq.port=5672
## 配置用户名
spring.rabbitmq.username=oldlu
## 配置密码
spring.rabbitmq.password=123456

2.2 编写入门代码

2.2.1 编写mq配置类

package com.bjc.conf;

import org.springframework.amqp.core.Queue;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;

/**
 * 创建消息队列
 *
 */
@Configuration
public class QuenueConfig {
	
	/**创建队列
	 * @return
	 */
	@Bean
	public Queue createQuenue() {
		return new Queue("hello-RabbiMq-Queue");
	}

}

2.2.2 编写生产者类

package com.bjc.producer;

import javax.annotation.Resource;

import org.springframework.amqp.core.AmqpTemplate;
import org.springframework.stereotype.Component;

/**
 * 消息发送者
 *
 */
@Component
public class Sender {
	
	@Resource
	private AmqpTemplate rabbitTemplate;
	
	public void sendMsg(String msg) {
		// 向消息队列发送消息
		// 参数一:队列名称
		// 参数二:消息内容
		rabbitTemplate.convertAndSend("hello-RabbiMq-Queue", msg);
	}
	
}

2.2.3 消息接收者

package com.bjc.consumer;

import org.springframework.amqp.rabbit.annotation.RabbitListener;
import org.springframework.stereotype.Component;

@Component
public class Receiver {
	
	/**接收消息的方法,采用消息队列的事件监听机制
	 * @param msg
	 */
	@RabbitListener(queues = {"hello-RabbiMq-Queue"})
	public void consumer(String msg) {
		System.out.println("消息接收:" + msg);
	}
	
}

2.2.4 编写测试类

package com.bjc;

import javax.annotation.Resource;

import org.junit.Test;
import org.junit.runner.RunWith;
import org.springframework.boot.test.context.SpringBootTest;
import org.springframework.test.context.junit4.SpringJUnit4ClassRunner;

import com.bjc.producer.Sender;

@RunWith(SpringJUnit4ClassRunner.class)
@SpringBootTest
public class TestMq {
	
	@Resource
	private Sender sender;
	
	@Test
	public void test() {
		sender.sendMsg("你好MQ!");
	}
	
}

运行结果:

在看管理台,如图:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值