springboot消息之@RabbitListener和@EnableRabbit

2020-08-26 15:37:19 浏览数 (1)

接上一节。

使用上述两个注解可以实现监听消息队列。

1、我们在主配置类中加上@EnableRabbit开启基于注解的RabbitMq

2、我们建立一个BookService.java并为相关方法加上@RabbitListener注解,启动服务器:

代码语言:javascript复制
package com.gong.springbootrabbitmq.service;

import com.gong.springbootrabbitmq.bean.Book;
import org.springframework.amqp.rabbit.annotation.RabbitListener;
import org.springframework.stereotype.Service;

@Service
public class BookService {

    @RabbitListener(queues = "gong.news")
    public void recieve(Book book){
        System.out.println("收到消息:" book);
    }

}

服务器启动时我们就收到了消息,因为上一节我们往gong.news队列中添加了一条消息。

我们如果继续添加一条消息:也收到了

3、第二种收消息的模式

代码语言:javascript复制
    @RabbitListener(queues = "gong")
    public void recieve2(Message message){
        System.out.println(message.getBody());
        System.out.println(message.getMessageProperties());
    }

启动服务器:

代码语言:javascript复制
[B@3c45f2e3
MessageProperties [headers={__TypeId__=com.gong.springbootrabbitmq.bean.Book}, contentType=application/json, contentEncoding=UTF-8, contentLength=0, receivedDeliveryMode=PERSISTENT, priority=0, redelivered=false, receivedExchange=exchange.fanout, receivedRoutingKey=, deliveryTag=1, consumerTag=amq.ctag-Y2Y5J6jRFYdOOzkrxz9VLA, consumerQueue=gong]

0 人点赞