接口 com.alibaba.rocketmq.client.producer.MessageQueueSelector
的使用

使用 MessageQueueSelector 的软件包
com.alibaba.rocketmq.client.impl.producer   
com.alibaba.rocketmq.client.producer   
com.alibaba.rocketmq.client.producer.selector   
 

com.alibaba.rocketmq.client.impl.producerMessageQueueSelector 的使用
 

参数类型为 MessageQueueSelectorcom.alibaba.rocketmq.client.impl.producer 中的方法
 SendResult DefaultMQProducerImpl.send(Message msg, MessageQueueSelector selector, Object arg)
          SELECT SYNC -------------------------------------------------------
 void DefaultMQProducerImpl.send(Message msg, MessageQueueSelector selector, Object arg, SendCallback sendCallback)
          SELECT ASYNC -------------------------------------------------------
 void DefaultMQProducerImpl.sendOneway(Message msg, MessageQueueSelector selector, Object arg)
          SELECT ONEWAY -------------------------------------------------------
 

com.alibaba.rocketmq.client.producerMessageQueueSelector 的使用
 

参数类型为 MessageQueueSelectorcom.alibaba.rocketmq.client.producer 中的方法
 SendResult MQProducer.send(Message msg, MessageQueueSelector selector, Object arg)
          发送消息,可以自定义选择队列,队列的总数可能会由于Broker的启停变化
如果要保证消息严格有序,在向运维人员申请Topic时,需要特别说明
同步调用
 SendResult DefaultMQProducer.send(Message msg, MessageQueueSelector selector, Object arg)
           
 void MQProducer.send(Message msg, MessageQueueSelector selector, Object arg, SendCallback sendCallback)
          发送消息,可以自定义选择队列,队列的总数可能会由于Broker的启停变化
如果要保证消息严格有序,在向运维人员申请Topic时,需要特别说明
异步调用
 void DefaultMQProducer.send(Message msg, MessageQueueSelector selector, Object arg, SendCallback sendCallback)
           
 void MQProducer.sendOneway(Message msg, MessageQueueSelector selector, Object arg)
          发送消息,可以自定义选择队列,队列的总数可能会由于Broker的启停变化
如果要保证消息严格有序,在向运维人员申请Topic时,需要特别说明
Oneway形式,服务器不应答,无法保证消息是否成功到达服务器
 void DefaultMQProducer.sendOneway(Message msg, MessageQueueSelector selector, Object arg)
           
 

com.alibaba.rocketmq.client.producer.selectorMessageQueueSelector 的使用
 

实现 MessageQueueSelectorcom.alibaba.rocketmq.client.producer.selector 中的类
 class SelectMessageQueueByHash
          使用哈希算法来选择队列,顺序消息通常都这样做
 class SelectMessageQueueByMachineRoom
          根据机房来选择发往哪个队列,支付宝逻辑机房使用
 class SelectMessageQueueByRandoom
          发送消息,随机选择队列
 



Copyright © 2012-2014. All Rights Reserved.