Authored by FengRuwei

update

@@ -47,14 +47,9 @@ public interface YhMessageConsumer { @@ -47,14 +47,9 @@ public interface YhMessageConsumer {
47  这里也可以让YhMessageConsumer实现MessageListener接口作为消息处理监听者。 47  这里也可以让YhMessageConsumer实现MessageListener接口作为消息处理监听者。
48 6. 创建队列 48 6. 创建队列
49   49  
50 -   
51 -  6.1. 创建queue name:yoho:模块名:getMessageTopic  
52 -   
53 -   
54 -  6.2. 绑定queue<----->amq.topic<------>getMessageTopic  
55 -   
56 -   
57 -  6.3. 返回队列名new_queue 50 +  1. 创建queue name:yoho:模块名:getMessageTopic
  51 +  2. 绑定queue<----->amq.topic<------>getMessageTopic
  52 +  3. 返回队列名new_queue
58 7. listenerContainer设置监听队列名new_queue 53 7. listenerContainer设置监听队列名new_queue
59 8. 启动listenerContainer 54 8. 启动listenerContainer
60 55
@@ -68,9 +63,15 @@ Rabbit MQ通过TTL与DLX可以实现延时消息队列。 @@ -68,9 +63,15 @@ Rabbit MQ通过TTL与DLX可以实现延时消息队列。
68 设置队列为TTL主要通过设置队列属性**x-message-ttl**,单位为ms。 63 设置队列为TTL主要通过设置队列属性**x-message-ttl**,单位为ms。
69 TTl队列内的消息在到达ttl时间时就过期成为一个deadMsg。利用DLX,MQ可以将deadMsg再次进行转发,转发到哪呢,可以通过设置**x-dead-letter-exchange**来指定deadMsg转发到这个exchange,yoho-core中使用*yoho.expire*来接收deadMsg。 64 TTl队列内的消息在到达ttl时间时就过期成为一个deadMsg。利用DLX,MQ可以将deadMsg再次进行转发,转发到哪呢,可以通过设置**x-dead-letter-exchange**来指定deadMsg转发到这个exchange,yoho-core中使用*yoho.expire*来接收deadMsg。
70 还可以通过设置**x-dead-letter-routing-key**来指定deadMsg过期后转发使用的routing-key,yoho-core并没有使用这个属性,因此deadMsg超时后转发时使用原来这个消息发送时的routing-key。 65 还可以通过设置**x-dead-letter-routing-key**来指定deadMsg过期后转发使用的routing-key,yoho-core并没有使用这个属性,因此deadMsg超时后转发时使用原来这个消息发送时的routing-key。
71 -######**x-message-ttl** : 队列超时时间  
72 -######**x-dead-letter-exchange** :超时消息被丢弃到这里  
73 -######**x-dead-letter-routing-key** : 超时消息被丢弃时使用的routing-key 66 +
  67 +
  68 + ######**x-message-ttl** : 队列超时时间
  69 +
  70 +
  71 + ######**x-dead-letter-exchange** :超时消息被丢弃到这里
  72 +
  73 +
  74 + ######**x-dead-letter-routing-key** : 超时消息被丢弃时使用的routing-key
74 <br>然后我们需要创建一个队列(final_queue)专门来接收这些deadMsg,队列需要绑定到x-dead-letter-exchange,如果有x-dead-letter-routing-key的话通过其绑定,如果未设置x-dead-letter-routing-key,则通过原来的routing-key进行绑定。<br> 75 <br>然后我们需要创建一个队列(final_queue)专门来接收这些deadMsg,队列需要绑定到x-dead-letter-exchange,如果有x-dead-letter-routing-key的话通过其绑定,如果未设置x-dead-letter-routing-key,则通过原来的routing-key进行绑定。<br>
75 最后延时消息的消费者通过绑定final_queue队列,达成消息的延时处理。 76 最后延时消息的消费者通过绑定final_queue队列,达成消息的延时处理。
76 77