java

关注公众号 jb51net

关闭
首页 > 软件编程 > java > SpringAMQP消息队列

SpringAMQP消息队列实战教程

作者:zhyaw56zhu

这篇文章主要介绍了SpringAMQP消息队列的相关知识,本文通过实例代码给大家介绍的非常详细,感兴趣的朋友一起看看吧

安装RabbitMQ

在linux上安装RabbitMQ,并运行

docker run \
 -e RABBITMQ_DEFAULT_USER=zywzy \
 -e RABBITMQ_DEFAULT_PASS=123321 \
 --name mq \
 --hostname mq1 \
 -p 15672:15672 \
 -p 5672:5672 \
 -d \
 rabbitmq:3-management

http://ip:15672 访问控制台, 用户名zywzy,密码123321

引入依赖

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

配置文件

spring:
  rabbitmq:
    host: 172.27.99.52 # rabbitMQ的ip地址
    port: 5672 # 端口
    username: abc
    password: 123321
    virtual-host: /

发送消息

@SpringBootTest
public class SpringAmqpTest {
    @Autowired
    private RabbitTemplate rabbitTemplate;
    @Test
    public void testSendMessage2SimpleQueue() {
        String queueName = "simple.queue";
        String message = "hello, spring amqp!";
        rabbitTemplate.convertAndSend(queueName, message);
    }
}

消费消息

@RabbitListener(queues = "simple.queue")
    public void listenWorkQueue1(String msg) throws InterruptedException {
        System.out.println("消费者1接收到消息:【" + msg + "】" + LocalTime.now());
    }

消息预取

每次只能取一条消息,处理完成才能取下一条消息

spring:
  rabbitmq:
    listener:
      simple:
        prefetch: 1

到此这篇关于SpringAMQP消息队列的文章就介绍到这了,更多相关SpringAMQP消息队列内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

您可能感兴趣的文章:
阅读全文