RabbitMQ + SpringBoot Demo + Simple模式

一、引入依赖

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

二、配置RabbitMQ 配置项

#rabbitMQ
spring.rabbitmq.host=localhost
spring.rabbitmq.port=5672
spring.rabbitmq.username=root
spring.rabbitmq.password=123456
#上述rabbitMQ配置可用下方链接代替
#spring.rabbitmq.addresses=amqp://root:123456@localhost:5672
#设置虚拟主机
spring.rabbitmq.virtual-host=yyds-vhost

#rabbitMQ 缓存相关配置
#设置 Channel 还是 Connection
spring.rabbitmq.cache.connection.mode=channel
#设置缓存 Channel 的数量, 根据缓存方式channel 还是 connection
spring.rabbitmq.cache.channel.size=20
#设置缓存 Connection 的数量, 根据缓存方式channel 还是 connection
#spring.rabbitmq.cache.connection.size=5

#rabbitMQ AmqpTemplate 配置
#启用AmqpTemplate 的自动重试功能, 默认没有启用
spring.rabbitmq.template.retry.enabled=true
#设置自动重试的时间间隔为2s
spring.rabbitmq.template.retry.initial-interval=2s
#设置AmqpTemplate 的默认Exchagne 为 ""
spring.rabbitmq.template.exchange=
#设置AmqpTemplate 的默认路由key 为 "test"
spring.rabbitmq.template.routing-key=simpleQueue

#direct在消费者线程上直接调用监听器 ,   simple 消费者将消息分配到调用者线程   stream 使用 rabbitmq 流客户端
spring.rabbitmq.listener.type=direct  

 三、生产者

package com.yyds.rabbitmq.simple;

import org.springframework.amqp.rabbit.core.RabbitTemplate;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;

@Service
public class Producer {

    @Autowired
    private RabbitTemplate rabbitTemplate;

    public void productMsg() {
        rabbitTemplate.convertAndSend("Hello Simple Modal Of RabbitMQ");
    }
}

四、消费者

package com.yyds.rabbitmq.simple;

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

/**
 * @Description TODO
 * @Author douger
 * @Date 2022/6/13 11:21
 * @Version 1.0
 */
@Service
public class Consumer {

    @RabbitListener(queues="simpleQueue")
    public void getSimpleQueueMsg(String content) {
        System.out.println("消费者消费消息:" + content);
    }

}

五、Test运行生产者生产消息

消费者可监听到并消费消息

 

posted @ 2022-06-13 13:46  长弓射大狗  阅读(75)  评论(0)    收藏  举报