1.@RabbitListener 注解是指定某方法作为消息消费的方法,例如监听某 Queue 里面的消息。
2.@RabbitListener标注在方法上,直接监听指定的队列,此时接收的参数需要与发送市类型一致
@Component
public class PointConsumer {
//监听的队列名
@RabbitListener(queues = "point.to.point")
public void processOne(String name) {
System.out.println("point.to.point:" + name);
3.@RabbitListener 可以标注在类上面,需配合 @RabbitHandler 注解一起使用
@RabbitListener 标注在类上面表示当有收到消息的时候,就交给 @RabbitHandler 的方法处理,根据接受的参数类型进入具体的方法中。
@Component
@RabbitListener(queues = "consumer_queue")
public class Receiver {
@RabbitHandler
public void processMessage1(String message) {
System.out.println(message);
@RabbitHandler
public void processMessage2(byte[] message) {
System.out.println(new String(message));
/** * 发送消息 * @param user */@RequestMapping(value = prefix+"/setRabbitMessage", method = RequestMethod.POST, consumes = MediaType.APPLICATION_JSON_UTF8_VALUE, produces = MediaType.APPLICATION_JSON...
SimpleMessageConverter 对于要发送的消息体 body 为 byte[] 时不进行处理,如果是 String 则转成字节数组,如果是 Java 对象,则使用 jdk 序列化将消息转成字节数组,转出来的结果较大,含class类名,类相应方法等信息。@RabbitListener 标注在类上面表示当有收到消息的时候,就交给 @RabbitHandler 的方法处理,具体使用哪个方法处理,根据 MessageConverter 转换后的参数类型。...
在RabbitMQ中,消息的消费者需要根据不同的消息类型进行不同的处理。在Spring Boot中,我们可以通过注解来实现这一功能。本文将介绍Spring Boot中注解的介绍、原理和使用方法。
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-amqp</artifactId>
</dependency>
2.配置rabbitmq
rabbitmq:
host: 127.0.0.1
port: 5672
username: zytoo
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
@RabbitListener(bindings = @QueueBinding(
value = @Queue(value = queueName, durable = "true", ignoreDeclarationExceptions = "true"),
exchange = @Exchange(value = EventConfig.exchangeGR, type = ExchangeTypes.FANOUT, durable = "true")
@RabbitListener 或 @RabbitHandler 配置出错
很大原因是取决于content_type 的配置和 方法的形参。
如果通过客户端放入队列中有个content_type为空的的消息,@RabbitListener只有形参为String 的Handler,是无法对应上消费实现的。
@RabbitHandler 没有使用可选参数isDefault
消费者找不到任何一个消费实现,就回去找isDefault = true 的 handler,类似一个兜
https://www.jianshu.com/p/911d987b5f11
转载于:https://www.cnblogs.com/zhangww/p/10899756.html
@RabbitListener 是用于在 Spring AMQP 中消息监听的注解。它允许在 Spring 应用程序中声明消息监听器。在使用 @RabbitListener 注解的方法上,可以接收来自 RabbitMQ 队列的消息。这些方法可以通过使用 @RabbitHandler 注解标记,并在方法中声明一个参数来表示要接收的消息。
@RabbitListener(queues = "q...
RabbitListener 注解是 Spring AMQP 框架中的一个关键组件,它可以将一个方法标记为 RabbitMQ 的消息监听器。在 Spring Boot 应用程序中,可以使用 @RabbitListener 注解来监听队列,并在接收到消息时执行指定的方法。在本文中,我们介绍了 @RabbitListener 注解的原理、使用方法和常见应用场景。通过使用 @RabbitListener 注解,可以方便地实现异步任务处理、发布订阅模式等功能。