|
1 | 1 | package com.github.cadecode.uniboot.example.svc.consumer; |
2 | 2 |
|
3 | 3 | import cn.hutool.core.util.ObjectUtil; |
| 4 | +import com.github.cadecode.uniboot.example.svc.bean.data.ExampleMsgDo; |
4 | 5 | import com.rabbitmq.client.Channel; |
5 | 6 | import lombok.extern.slf4j.Slf4j; |
6 | 7 | import org.springframework.amqp.core.Message; |
|
19 | 20 | @Component |
20 | 21 | public class RabbitExampleConsumer { |
21 | 22 |
|
22 | | - @RabbitListener(queues = "demo-queue-0", id = "demo-queue-0", ackMode = "AUTO") |
23 | | - public void demoQueue0(String body, Message message, Channel channel) throws IOException { |
| 23 | + @RabbitListener(queues = "example-delay-queue-0", id = "example-delay-queue-0", ackMode = "AUTO") |
| 24 | + public void exampleDelayQueue0(String body, Message message, Channel channel) throws IOException { |
| 25 | + log.info("Received msg:{}", body); |
| 26 | + } |
| 27 | + |
| 28 | + /** |
| 29 | + * 测试 SpEL 获取 queue name |
| 30 | + */ |
| 31 | + @RabbitListener(queues = "#{@'example-delay-queue-1'.name}", id = "example-delay-queue-1") |
| 32 | + public void exampleDelayQueue1(String body, Message message, Channel channel) throws IOException { |
| 33 | + log.info("Received msg:{}", body); |
| 34 | + channel.basicAck(message.getMessageProperties().getDeliveryTag(), false); |
| 35 | + } |
| 36 | + |
| 37 | + |
| 38 | + @RabbitListener(queues = "example-biz-queue-0", id = "example-biz-queue-0", ackMode = "AUTO") |
| 39 | + public void exampleBizQueue0(String body, Message message, Channel channel) throws IOException { |
24 | 40 | log.info("Received msg:{}", body); |
25 | 41 | // 自动模式下,测试重试机制 |
26 | 42 | if (ObjectUtil.equal(body, "ERROR")) { |
27 | 43 | throw new RuntimeException("ERROR"); |
28 | 44 | } |
29 | 45 | } |
30 | 46 |
|
31 | | - @RabbitListener(queues = "#{@'demo-queue-1'.name}", id = "demo-queue-1") |
32 | | - public void demoQueue1(String body, Message message, Channel channel) throws IOException { |
33 | | - log.info("Received msg:{}", body); |
34 | | - channel.basicAck(message.getMessageProperties().getDeliveryTag(), false); |
| 47 | + /** |
| 48 | + * 测试用对象获取消息 |
| 49 | + */ |
| 50 | + @RabbitListener(queues = "example-biz-queue-1", id = "example-biz-queue-1", ackMode = "AUTO") |
| 51 | + public void exampleBizQueue1(ExampleMsgDo msgDo, Message message, Channel channel) throws IOException { |
| 52 | + log.info("Received msg:{}", msgDo); |
35 | 53 | } |
| 54 | + |
36 | 55 | } |
0 commit comments