1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164
|
@RabbitListener(queuesToDeclare = @Queue("myDefaultQueue")) @RabbitHandler public void defaultDirectReceiver(Map param){ System.out.println("默认交换器,消费者接收到消息:" + param); }
@RabbitListener(bindings = @QueueBinding( value = @Queue("testDirectQueue1"), exchange = @Exchange(value = "myExchange",type = ExchangeTypes.DIRECT), key = "myDirectRouting.1") )
@RabbitHandler public void direct1Receiver(Map param){ System.out.println("直连交换器1,消费者接收到消息:" + param); }
@RabbitListener(bindings = @QueueBinding( value = @Queue("testDirectQueue2"), exchange = @Exchange(value = "myExchange",type = ExchangeTypes.DIRECT), key = "myDirectRouting.2") )
@RabbitHandler public void direct2Receiver(Map param){ System.out.println("直连交换器2,消费者接收到消息:" + param); }
@RabbitListener(bindings = @QueueBinding( value = @Queue("testDirectQueue3"), exchange = @Exchange(value = "myExchange",type = ExchangeTypes.DIRECT), key = "myDirectRouting.3") )
@RabbitHandler public void direct3Receiver(User param){ System.out.println("直连交换器3,消费者接收到消息:" + param); }
@RabbitListener(bindings = @QueueBinding( value = @Queue("topicQueue1"), exchange = @Exchange(value = "topicExchange",type = ExchangeTypes.TOPIC), key = "topicRouting.1") ) @RabbitHandler public void topic1Receiver(Map param){ System.out.println("主题交换器1,消费者接收到消息:" + param); }
@RabbitListener(bindings = @QueueBinding( value = @Queue("topicQueue2"), exchange = @Exchange(value = "topicExchange",type = ExchangeTypes.TOPIC), key = "topicRouting.*") ) @RabbitHandler public void topic2Receiver(Map param){ System.out.println("主题交换器2,消费者接收到消息:" + param); }
@RabbitListener(bindings = @QueueBinding( value = @Queue("fanoutQueue1"), exchange = @Exchange(value = "fanoutExchange",type = ExchangeTypes.FANOUT), key = "fanoutRouting") ) @RabbitHandler public void fanout1Receiver(Map param){ System.out.println("扇形交换器1,消费者接收到消息:" + param); }
@RabbitListener(bindings = @QueueBinding( value = @Queue("fanoutQueue2"), exchange = @Exchange(value = "fanoutExchange",type = ExchangeTypes.FANOUT), key = "fanoutRouting") ) @RabbitHandler public void fanout2Receiver(Map param){ System.out.println("扇形交换器2,消费者接收到消息:" + param); }
@RabbitListener(bindings = @QueueBinding( value = @Queue("headerQueue1"), exchange = @Exchange(value = "headerExchange",type = ExchangeTypes.HEADERS), arguments = {@Argument(name = "x-match",value = "any"), @Argument(name = "key-one",value = "1"), @Argument(name = "key-three",value = "3") }) ) @RabbitHandler public void anyMatchReceiver(@Payload Map param, @Headers Map headers){ System.out.println("header交换器,任意匹配消费者接收到消息:" + param + ",头部信息:" + headers); }
@RabbitListener(bindings = @QueueBinding( value = @Queue("headerQueue2"), exchange = @Exchange(value = "headerExchange",type = ExchangeTypes.HEADERS), arguments = {@Argument(name = "x-match",value = "all"), @Argument(name = "key-one",value = "1"), @Argument(name = "key-two",value = "2") }) ) @RabbitHandler public void allMatchReceiver(@Payload Map param, @Headers Map headers){ System.out.println("header交换器,全匹配消费者接收到消息:" + param + ",头部信息:" + headers); }
@RabbitHandler @RabbitListener(queues = "delayCusQueue") public void delayReceiver(@Payload Map param, @Headers Map headers){ System.out.println("延迟消息交换器,"+ LocalDateTime.now()+"接收到消息:" + param + ",头部信息:" + headers); }
@RabbitListener( bindings = @QueueBinding( exchange = @Exchange(value = "delayExchangeCus2",delayed = "true" ,type = ExchangeTypes.DIRECT,arguments = @Argument(name = "x-delayed-type",value="direct")), value = @Queue(value = "delayCusQueue2",durable = "true"), key = "cusDelayKey2" ) ) @RabbitHandler public void delay2Receiver(@Payload Map param, Channel channel, @Headers Map headers){ Long amqpDeliveryTag = (Long) headers.get("amqp_deliveryTag"); System.out.println("延迟消息交换器2,"+ LocalDateTime.now()+"接收到消息:" + param + ",头部信息:" + headers); }
|