...
|
...
|
@@ -47,9 +47,9 @@ public interface YhMessageConsumer { |
|
|
这里也可以让YhMessageConsumer实现MessageListener接口作为消息处理监听者。
|
|
|
6. 创建队列
|
|
|
|
|
|
1. 创建queue name:yoho:模块名:getMessageTopic
|
|
|
2. 绑定queue<----->amq.topic<------>getMessageTopic
|
|
|
3. 返回队列名new_queue
|
|
|
```1. 创建queue name:yoho:模块名:getMessageTopic
|
|
|
```2. 绑定queue<----->amq.topic<------>getMessageTopic
|
|
|
```3. 返回队列名new_queue
|
|
|
7. listenerContainer设置监听队列名new_queue
|
|
|
8. 启动listenerContainer
|
|
|
|
...
|
...
|
@@ -72,8 +72,12 @@ TTl队列内的消息在到达ttl时间时就过期成为一个deadMsg。利用D |
|
|
|
|
|
|
|
|
**x-dead-letter-routing-key** : 超时消息被丢弃时使用的routing-key
|
|
|
<br>然后我们需要创建一个队列(final_queue)专门来接收这些deadMsg,队列需要绑定到x-dead-letter-exchange,如果有x-dead-letter-routing-key的话通过其绑定,如果未设置x-dead-letter-routing-key,则通过原来的routing-key进行绑定。<br>
|
|
|
最后延时消息的消费者通过绑定final_queue队列,达成消息的延时处理。
|
|
|
|
|
|
|
|
|
然后我们需要创建一个队列(final_queue)专门来接收这些deadMsg,队列需要绑定到x-dead-letter-exchange,如果有x-dead-letter-routing-key的话通过其绑定,如果未设置x-dead-letter-routing-key,则通过原来的routing-key进行绑定。<br>
|
|
|
|
|
|
|
|
|
最后延时消息的消费者通过绑定final_queue队列,达成消息的延时处理。
|
|
|
|
|
|
|
|
|
> DelayConsumerFactory初始化过程
|
...
|
...
|
@@ -84,18 +88,18 @@ TTl队列内的消息在到达ttl时间时就过期成为一个deadMsg。利用D |
|
|
5. 设置消费者,通过适配器适配(MessageListenerAdapter会适配YhMessageConsumer的handleMessage方法)。
|
|
|
这里也可以让YhMessageConsumer实现MessageListener接口作为消息处理监听者。
|
|
|
6. 创建延时队列<br>
|
|
|
6.1. 创建timeQueue
|
|
|
```6.1. 创建timeQueue
|
|
|
**name**: delay:[delayInMinutes]m.queue
|
|
|
**x-message-ttl** : delayInMinutes
|
|
|
**x-dead-letter-exchange** : yoho.expire
|
|
|
-----6.2. 绑定
|
|
|
```6.2. 绑定
|
|
|
delay:[delayInMinutes]m.queue<----->amq.topic<------>yoho_delay.[delayInMinutes]m.*
|
|
|
7. 创建最终消费队列
|
|
|
7.1 创建expiredQueue
|
|
|
```7.1 创建expiredQueue
|
|
|
name:yoho_delay:模块名:getMessageTopic
|
|
|
7.2 绑定
|
|
|
```7.2 绑定
|
|
|
yoho_delay:模块名:getMessageTopic<----->yoho.expire<------>yoho_delay.*.getMessageTopic
|
|
|
7.3 返回expiredQueue队列名
|
|
|
```7.3 返回expiredQueue队列名
|
|
|
8. listenerContainer设置监听队列名expiredQueue
|
|
|
9. 启动listenerContainer
|
|
|
|
...
|
...
|
|