SpringBoot整合RabbitMq与高级特性

代码已经上传:rabbitMQTest: rabbitMQ测试代码,需要的自取

1.springboot整合rabbitMQ

1.1 springboot整合rabbitMQ消费者

1.导入pom.xml依赖

2.定义队列,交换机,队列绑定交换机关系

3.定义springboot启动类

4. 创建测试springboot启动类

#rabbitMQ主要依赖

            org.springframework.boot
            spring-boot-starter-amqp
        

1.2 springboot整合rabbitMQ消费者

1.导入pom.xml依赖

2.定义监听器

3.定义springboot启动类    

1.3 消息可靠性保证-消息确认和返回机制

 producer->broker->exchange过程可以使用消息确认机制判断交换机是否接收到。

exchange->queue过程可以使用消息返回机制判断队列是否存在,不存在还可以退回,我们可以做一些日志持久化的操作保证消息可靠性。

消费端还有一种默认签收机制,签收机制参数默认有三种:

"manual":手动签收 none-自动签收 auto-根据异常情况签收

异常也可以选择拒收,拒收以后会返回queue,broker会继续返回给消费者。

1.3.1 实战讲解

消费者服务springboot-rabbitmq-consumer-advanced

        启动类:App,监听类:AckListener

生产者服务springboot-rabbitmq-advanced

        启动类:ProducerAdvancedTest-testConfirmCallback(测试生产者调用交换机测试案例)ProducerAdvancedTest-testReturnCallback(交换机调用队列)

1.4 限流

 设置限流需要设置消费端配置文件spring-rabbitmq-consumer.xml中得prefetch参数,表示消费者每次抓取多少消息。

1.4.1 限流实战案例讲解

 消费者服务springboot-rabbitmq-consumer-advanced

        启动类:App,监听类:QosListener

        spring-rabbitmq-consumer.xml-prefetch参数代表每次拉取多少消息

生产者服务springboot-rabbitmq-advanced

        启动类:ProducerAdvancedTest-testQosListener(测试限流)

1.5 rabbit-ttl

 延时队列,在rabbitmq得页面可以设置,在建立队列时设置最多保持几秒失效参数。

1.建立交换机 2.建立队列,设置ttl参数 3. 绑定队列到交换机 4. 发布消息 5.测试消息失效

SpringBoot整合RabbitMq与高级特性_第1张图片 

 SpringBoot整合RabbitMq与高级特性_第2张图片

 

 SpringBoot整合RabbitMq与高级特性_第3张图片

 SpringBoot整合RabbitMq与高级特性_第4张图片

 SpringBoot整合RabbitMq与高级特性_第5张图片

 

你可能感兴趣的:(rabbitmq,java)