大家好,我是润森
AmqpAdmin
AmqpAdmin
是 RabbitMQ
系统管理功能组件;
高级消息队列协议(AMQP
)是面向消息的中间件的平台中立的线级协议。Spring AMQP
项目将核心Spring
概念应用于基于AMQP
的消息传递解决方案的开发。Spring Boot
通过RabbitMQ使用AMQP
提供了一些便利,包括spring-boot-starter-amqp “Starter”
。
监听rabbitmq
监听rabbitmq使用的是@RabbitListener
注解
@RabbitListener 用法
使用 @RabbitListener
注解标记方法,当监听到队列 debug
中有消息时则会进行接收并处理
在Service
文件夹中定义BookService
监听atguigu.news
和atguigu
队列,导入@RabbitListener
注释器是.amqp.rabbit
下的
import org.springframework.amqp.core.Message;
import org.springframework.amqp.rabbit.annotation.RabbitListener;
import org.springframework.stereotype.Service;
/**
* @author: 毛利
*/
@Service
public class BookService {
@RabbitListener(queues = "atguigu.news")
public void recevice(Book book){
System.out.println("收到消息:" + book);
}
@RabbitListener(queues = "atguigu")
public void receive02(Message message) {
System.out.println(message.getBody());
System.out.println(message.getMessageProperties());
}
}
测试运行
创建交换器,队列
具体方法
- amqpAdmin.declareExchange()
- amqpAdmin.declareQueue()
- amqpAdmin.declareBinding()
@Autowired
AmqpAdmin amqpAdmin;
@Test
public void createExchange() {
amqpAdmin.declareExchange(new DirectExchange("amqpadmin.exchange"));
System.out.println("创建完成");
amqpAdmin.declareQueue(new Queue("amqpadmin.queue",true));
//创建绑定规则
amqpAdmin.declareBinding(new Binding("amqpadmin.queue", Binding.DestinationType.QUEUE,"amqpadmin.exchange","amqp.haha",null));
}
总结
本文通过@RabbitListener
用监听rabbitmq
的队列和使用amqpAdmin
创建交换器,队列。
希望以上对你学习有用
再自我介绍一下吧。我叫润森,是一个的学习者。