【SpringCloud学习笔记】RabbitMQ
    		       		warning:
    		            这篇文章距离上次修改已过427天,其中的内容可能已经有所变动。
    		        
        		                
                RabbitMQ是一个开源的消息代理和队列服务器,用来通过插件机制来支持多种消息协议。RabbitMQ支持的协议包括AMQP,也是一种被广泛使用的消息中间件。
在Spring Cloud中,我们可以使用Spring AMQP和Spring Messaging来简化RabbitMQ的使用。
- 引入依赖
 
在Spring Boot项目的pom.xml中添加RabbitMQ的依赖:
<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-amqp</artifactId>
</dependency>- 配置RabbitMQ
 
在application.properties或application.yml中配置RabbitMQ的连接信息:
spring:
  rabbitmq:
    host: localhost
    port: 5672
    username: guest
    password: guest- 创建配置类
 
创建一个配置类,配置RabbitMQ的Exchange和Queue:
@Configuration
public class RabbitMQConfig {
 
    @Bean
    Queue queue() {
        return new Queue("testQueue", true);
    }
 
    @Bean
    DirectExchange exchange() {
        return new DirectExchange("testExchange");
    }
 
    @Bean
    Binding binding(Queue queue, DirectExchange exchange) {
        return BindingBuilder.bind(queue).to(exchange).with("testRoutingKey");
    }
}- 发送消息
 
使用AmqpTemplate发送消息:
@Autowired
private AmqpTemplate amqpTemplate;
 
public void send(String message) {
    amqpTemplate.convertAndSend("testExchange", "testRoutingKey", message);
}- 接收消息
 
使用@RabbitListener注解来监听队列,并使用@RabbitHandler注解来处理消息:
@Component
@RabbitListener(queues = "testQueue")
public class RabbitMQListener {
 
    @RabbitHandler
    public void process(String message) {
        System.out.println("Received message: " + message);
    }
}以上是使用Spring AMQP简化RabbitMQ操作的一个基本示例。在实际应用中,你可能需要根据具体需求进行更复杂的配置,例如设置消息的持久化、延迟、优先级等。
评论已关闭