| 限定符和类型 | 方法和说明 |
|---|---|
static void |
Validators.checkGroup(String group)
group 有效性检查
|
static void |
Validators.checkMessage(Message msg,
DefaultMQProducer defaultMQProducer)
message 有效性检查
|
static void |
Validators.checkTopic(String topic)
topic 有效性检查
|
void |
MQAdmin.createTopic(String key,
String newTopic,
int queueNum)
创建topic
|
long |
MQAdmin.earliestMsgStoreTime(MessageQueue mq)
向服务器查询队列保存的最早消息对应的存储时间
|
long |
MQAdmin.maxOffset(MessageQueue mq)
向服务器查询队列最大Offset PS: 最大Offset无对应消息,减1有消息
|
long |
MQAdmin.minOffset(MessageQueue mq)
向服务器查询队列最小Offset PS: 最小Offset有对应消息
|
QueryResult |
MQAdmin.queryMessage(String topic,
String key,
int maxNum,
long begin,
long end)
根据消息Key查询消息
|
long |
MQAdmin.searchOffset(MessageQueue mq,
long timestamp)
根据时间查询对应的offset,精确到毫秒
P.S. |
MessageExt |
MQAdmin.viewMessage(String msgId)
根据消息ID,从服务器获取完整的消息
|
| 限定符和类型 | 方法和说明 |
|---|---|
void |
DefaultMQPullConsumer.createTopic(String key,
String newTopic,
int queueNum) |
void |
DefaultMQPushConsumer.createTopic(String key,
String newTopic,
int queueNum) |
long |
DefaultMQPullConsumer.earliestMsgStoreTime(MessageQueue mq) |
long |
DefaultMQPushConsumer.earliestMsgStoreTime(MessageQueue mq) |
long |
DefaultMQPullConsumer.fetchConsumeOffset(MessageQueue mq,
boolean fromStore) |
long |
MQPullConsumer.fetchConsumeOffset(MessageQueue mq,
boolean fromStore)
获取消费进度,返回-1表示出错
|
Set<MessageQueue> |
DefaultMQPullConsumer.fetchMessageQueuesInBalance(String topic) |
Set<MessageQueue> |
MQPullConsumer.fetchMessageQueuesInBalance(String topic)
根据topic获取MessageQueue,以均衡方式在组内多个成员之间分配
|
Set<MessageQueue> |
DefaultMQPullConsumer.fetchSubscribeMessageQueues(String topic) |
Set<MessageQueue> |
DefaultMQPushConsumer.fetchSubscribeMessageQueues(String topic) |
Set<MessageQueue> |
MQConsumer.fetchSubscribeMessageQueues(String topic)
根据topic获取对应的MessageQueue,是可被订阅的队列
P.S 从Consumer Cache中拿数据,可以频繁调用。 |
long |
DefaultMQPullConsumer.maxOffset(MessageQueue mq) |
long |
DefaultMQPushConsumer.maxOffset(MessageQueue mq) |
long |
DefaultMQPullConsumer.minOffset(MessageQueue mq) |
long |
DefaultMQPushConsumer.minOffset(MessageQueue mq) |
PullResult |
DefaultMQPullConsumer.pull(MessageQueue mq,
String subExpression,
long offset,
int maxNums) |
PullResult |
MQPullConsumer.pull(MessageQueue mq,
String subExpression,
long offset,
int maxNums)
指定队列,主动拉取消息,即使没有消息,也立刻返回
|
void |
DefaultMQPullConsumer.pull(MessageQueue mq,
String subExpression,
long offset,
int maxNums,
PullCallback pullCallback) |
void |
MQPullConsumer.pull(MessageQueue mq,
String subExpression,
long offset,
int maxNums,
PullCallback pullCallback) |
PullResult |
DefaultMQPullConsumer.pullBlockIfNotFound(MessageQueue mq,
String subExpression,
long offset,
int maxNums) |
PullResult |
MQPullConsumer.pullBlockIfNotFound(MessageQueue mq,
String subExpression,
long offset,
int maxNums)
指定队列,主动拉取消息,如果没有消息,则broker阻塞一段时间再返回(时间可配置)
broker阻塞期间,如果有消息,则立刻将消息返回 |
void |
DefaultMQPullConsumer.pullBlockIfNotFound(MessageQueue mq,
String subExpression,
long offset,
int maxNums,
PullCallback pullCallback) |
void |
MQPullConsumer.pullBlockIfNotFound(MessageQueue mq,
String subExpression,
long offset,
int maxNums,
PullCallback pullCallback) |
QueryResult |
DefaultMQPullConsumer.queryMessage(String topic,
String key,
int maxNum,
long begin,
long end) |
QueryResult |
DefaultMQPushConsumer.queryMessage(String topic,
String key,
int maxNum,
long begin,
long end) |
long |
DefaultMQPullConsumer.searchOffset(MessageQueue mq,
long timestamp) |
long |
DefaultMQPushConsumer.searchOffset(MessageQueue mq,
long timestamp) |
void |
DefaultMQPullConsumer.sendMessageBack(MessageExt msg,
int delayLevel) |
void |
DefaultMQPushConsumer.sendMessageBack(MessageExt msg,
int delayLevel) |
void |
MQConsumer.sendMessageBack(MessageExt msg,
int delayLevel)
Consumer消费失败的消息可以选择重新发回到服务器端,并延时消费
会首先尝试将消息发回到消息之前存储的主机,此时只传送消息Offset,消息体不传送,不会占用网络带宽 如果发送失败,会自动重试发往其他主机,此时消息体也会传送 重传回去的消息只会被当前Consumer Group消费。 |
void |
DefaultMQPullConsumer.start() |
void |
MQPullConsumer.start()
启动服务
|
void |
DefaultMQPushConsumer.start() |
void |
MQPushConsumer.start()
启动服务,调用之前确保registerMessageListener与subscribe都已经调用
或者已经通过Spring注入了相关配置 |
void |
DefaultMQPushConsumer.subscribe(String topic,
String subExpression) |
void |
MQPushConsumer.subscribe(String topic,
String subExpression)
订阅消息,方法可以调用多次来订阅不同的Topic,也可覆盖之前Topic的订阅过滤表达式
|
void |
DefaultMQPullConsumer.updateConsumeOffset(MessageQueue mq,
long offset) |
void |
MQPullConsumer.updateConsumeOffset(MessageQueue mq,
long offset)
更新消费进度
只是更新Consumer缓存中的数据,如果是广播模式,则定时更新到本地存储 如果是集群模式,则定时更新到远端Broker P.S. |
MessageExt |
DefaultMQPullConsumer.viewMessage(String msgId) |
MessageExt |
DefaultMQPushConsumer.viewMessage(String msgId) |
| 限定符和类型 | 方法和说明 |
|---|---|
void |
LocalFileOffsetStore.load() |
void |
OffsetStore.load()
加载Offset
|
| 限定符和类型 | 方法和说明 |
|---|---|
void |
MQClientAPIImpl.createSubscriptionGroup(String addr,
SubscriptionGroupConfig config,
long timeoutMillis) |
void |
MQAdminImpl.createTopic(String key,
String newTopic,
int queueNum) |
void |
MQClientAPIImpl.createTopic(String addr,
String defaultTopic,
TopicConfig topicConfig,
long timeoutMillis) |
void |
MQClientAPIImpl.deleteKVConfigByValue(String namespace,
String projectGroup,
long timeoutMillis)
Name Server: 删除 value 对应的所有 key
|
void |
MQClientAPIImpl.deleteKVConfigValue(String namespace,
String key,
long timeoutMillis)
Name Server: 添加KV配置
|
void |
MQClientAPIImpl.deleteSubscriptionGroup(String addr,
String groupName,
long timeoutMillis) |
void |
MQClientAPIImpl.deleteTopicInBroker(String addr,
String topic,
long timeoutMillis) |
void |
MQClientAPIImpl.deleteTopicInNameServer(String addr,
String topic,
long timeoutMillis) |
long |
MQAdminImpl.earliestMsgStoreTime(MessageQueue mq) |
List<MessageQueue> |
MQAdminImpl.fetchPublishMessageQueues(String topic) |
Set<MessageQueue> |
MQAdminImpl.fetchSubscribeMessageQueues(String topic) |
TopicRouteData |
MQClientAPIImpl.getDefaultTopicRouteInfoFromNameServer(String topic,
long timeoutMillis)
Name Server: 从Name Server获取 Default Topic 路由信息
|
String |
MQClientAPIImpl.getKVConfigByValue(String namespace,
String projectGroup,
long timeoutMillis)
Name Server: 通过 value 获取所有的 key 信息
|
String |
MQClientAPIImpl.getKVConfigValue(String namespace,
String key,
long timeoutMillis)
Name Server: 从Namesrv获取KV配置
|
KVTable |
MQClientAPIImpl.getKVListByNamespace(String namespace,
long timeoutMillis)
Name Server: 获取指定Namespace下的所有KV
|
String |
MQClientAPIImpl.getProjectGroupByIp(String ip,
long timeoutMillis)
Name Server: 通过 server ip 获取 project 信息
|
TopicList |
MQClientAPIImpl.getTopicListFromNameServer(long timeoutMillis)
Name Server: 从Name Server获取所有Topic列表
|
TopicRouteData |
MQClientAPIImpl.getTopicRouteInfoFromNameServer(String topic,
long timeoutMillis)
Name Server: 从Name Server获取Topic路由信息
|
long |
MQAdminImpl.maxOffset(MessageQueue mq) |
long |
MQAdminImpl.minOffset(MessageQueue mq) |
void |
MQClientAPIImpl.putKVConfigValue(String namespace,
String key,
String value,
long timeoutMillis)
Name Server: 添加KV配置
|
QueryResult |
MQAdminImpl.queryMessage(String topic,
String key,
int maxNum,
long begin,
long end) |
long |
MQAdminImpl.searchOffset(MessageQueue mq,
long timestamp) |
MessageExt |
MQAdminImpl.viewMessage(String msgId) |
int |
MQClientAPIImpl.wipeWritePermOfBroker(String namesrvAddr,
String brokerName,
long timeoutMillis)
Name Server: Broker下线前,清除Broker对应的权限
|
| 限定符和类型 | 方法和说明 |
|---|---|
void |
DefaultMQPullConsumerImpl.createTopic(String key,
String newTopic,
int queueNum) |
void |
DefaultMQPushConsumerImpl.createTopic(String key,
String newTopic,
int queueNum) |
long |
DefaultMQPullConsumerImpl.earliestMsgStoreTime(MessageQueue mq) |
long |
DefaultMQPushConsumerImpl.earliestMsgStoreTime(MessageQueue mq) |
long |
DefaultMQPullConsumerImpl.fetchConsumeOffset(MessageQueue mq,
boolean fromStore) |
Set<MessageQueue> |
DefaultMQPullConsumerImpl.fetchMessageQueuesInBalance(String topic) |
List<MessageQueue> |
DefaultMQPullConsumerImpl.fetchPublishMessageQueues(String topic) |
Set<MessageQueue> |
DefaultMQPullConsumerImpl.fetchSubscribeMessageQueues(String topic) |
Set<MessageQueue> |
DefaultMQPushConsumerImpl.fetchSubscribeMessageQueues(String topic) |
long |
DefaultMQPullConsumerImpl.maxOffset(MessageQueue mq) |
long |
DefaultMQPushConsumerImpl.maxOffset(MessageQueue mq) |
long |
DefaultMQPullConsumerImpl.minOffset(MessageQueue mq) |
long |
DefaultMQPushConsumerImpl.minOffset(MessageQueue mq) |
PullResult |
DefaultMQPullConsumerImpl.pull(MessageQueue mq,
String subExpression,
long offset,
int maxNums) |
void |
DefaultMQPullConsumerImpl.pull(MessageQueue mq,
String subExpression,
long offset,
int maxNums,
PullCallback pullCallback) |
PullResult |
DefaultMQPullConsumerImpl.pullBlockIfNotFound(MessageQueue mq,
String subExpression,
long offset,
int maxNums) |
void |
DefaultMQPullConsumerImpl.pullBlockIfNotFound(MessageQueue mq,
String subExpression,
long offset,
int maxNums,
PullCallback pullCallback) |
PullResult |
PullAPIWrapper.pullKernelImpl(MessageQueue mq,
String subExpression,
long subVersion,
long offset,
int maxNums,
int sysFlag,
long commitOffset,
long brokerSuspendMaxTimeMillis,
long timeoutMillis,
CommunicationMode communicationMode,
PullCallback pullCallback) |
QueryResult |
DefaultMQPullConsumerImpl.queryMessage(String topic,
String key,
int maxNum,
long begin,
long end) |
QueryResult |
DefaultMQPushConsumerImpl.queryMessage(String topic,
String key,
int maxNum,
long begin,
long end) |
long |
DefaultMQPullConsumerImpl.searchOffset(MessageQueue mq,
long timestamp) |
long |
DefaultMQPushConsumerImpl.searchOffset(MessageQueue mq,
long timestamp) |
void |
DefaultMQPullConsumerImpl.sendMessageBack(MessageExt msg,
int delayLevel) |
void |
DefaultMQPushConsumerImpl.sendMessageBack(MessageExt msg,
int delayLevel) |
void |
DefaultMQPullConsumerImpl.start() |
void |
DefaultMQPushConsumerImpl.start() |
void |
DefaultMQPushConsumerImpl.subscribe(String topic,
String subExpression) |
void |
DefaultMQPullConsumerImpl.updateConsumeOffset(MessageQueue mq,
long offset) |
MessageExt |
DefaultMQPullConsumerImpl.viewMessage(String msgId) |
MessageExt |
DefaultMQPushConsumerImpl.viewMessage(String msgId) |
| 限定符和类型 | 方法和说明 |
|---|---|
void |
MQClientFactory.start() |
| 限定符和类型 | 方法和说明 |
|---|---|
void |
DefaultMQProducerImpl.createTopic(String key,
String newTopic,
int queueNum) |
long |
DefaultMQProducerImpl.earliestMsgStoreTime(MessageQueue mq) |
List<MessageQueue> |
DefaultMQProducerImpl.fetchPublishMessageQueues(String topic) |
long |
DefaultMQProducerImpl.maxOffset(MessageQueue mq) |
long |
DefaultMQProducerImpl.minOffset(MessageQueue mq) |
QueryResult |
DefaultMQProducerImpl.queryMessage(String topic,
String key,
int maxNum,
long begin,
long end) |
long |
DefaultMQProducerImpl.searchOffset(MessageQueue mq,
long timestamp) |
SendResult |
DefaultMQProducerImpl.send(Message msg)
DEFAULT SYNC -------------------------------------------------------
|
SendResult |
DefaultMQProducerImpl.send(Message msg,
MessageQueue mq)
KERNEL SYNC -------------------------------------------------------
|
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.send(Message msg,
MessageQueue mq,
SendCallback sendCallback)
KERNEL ASYNC -------------------------------------------------------
|
void |
DefaultMQProducerImpl.send(Message msg,
SendCallback sendCallback)
DEFAULT ASYNC -------------------------------------------------------
|
TransactionSendResult |
DefaultMQProducerImpl.sendMessageInTransaction(Message msg,
LocalTransactionExecuter tranExecuter,
Object arg) |
void |
DefaultMQProducerImpl.sendOneway(Message msg)
DEFAULT ONEWAY -------------------------------------------------------
|
void |
DefaultMQProducerImpl.sendOneway(Message msg,
MessageQueue mq)
KERNEL ONEWAY -------------------------------------------------------
|
void |
DefaultMQProducerImpl.sendOneway(Message msg,
MessageQueueSelector selector,
Object arg)
SELECT ONEWAY -------------------------------------------------------
|
void |
DefaultMQProducerImpl.start() |
void |
DefaultMQProducerImpl.start(boolean startFactory) |
MessageExt |
DefaultMQProducerImpl.viewMessage(String msgId) |
| 限定符和类型 | 方法和说明 |
|---|---|
void |
DefaultMQProducer.createTopic(String key,
String newTopic,
int queueNum) |
long |
DefaultMQProducer.earliestMsgStoreTime(MessageQueue mq) |
List<MessageQueue> |
DefaultMQProducer.fetchPublishMessageQueues(String topic) |
List<MessageQueue> |
MQProducer.fetchPublishMessageQueues(String topic)
根据topic获取对应的MessageQueue,如果是顺序消息,则按照顺序消息配置返回
|
long |
DefaultMQProducer.maxOffset(MessageQueue mq) |
long |
DefaultMQProducer.minOffset(MessageQueue mq) |
QueryResult |
DefaultMQProducer.queryMessage(String topic,
String key,
int maxNum,
long begin,
long end) |
long |
DefaultMQProducer.searchOffset(MessageQueue mq,
long timestamp) |
SendResult |
DefaultMQProducer.send(Message msg) |
SendResult |
MQProducer.send(Message msg)
发送消息,同步调用
|
SendResult |
DefaultMQProducer.send(Message msg,
MessageQueue mq) |
SendResult |
MQProducer.send(Message msg,
MessageQueue mq)
向指定队列发送消息,同步调用
|
SendResult |
DefaultMQProducer.send(Message msg,
MessageQueueSelector selector,
Object arg) |
SendResult |
MQProducer.send(Message msg,
MessageQueueSelector selector,
Object arg)
发送消息,可以自定义选择队列,队列的总数可能会由于Broker的启停变化
如果要保证消息严格有序,在向运维人员申请Topic时,需要特别说明 同步调用 |
void |
DefaultMQProducer.send(Message msg,
MessageQueueSelector selector,
Object arg,
SendCallback sendCallback) |
void |
MQProducer.send(Message msg,
MessageQueueSelector selector,
Object arg,
SendCallback sendCallback)
发送消息,可以自定义选择队列,队列的总数可能会由于Broker的启停变化
如果要保证消息严格有序,在向运维人员申请Topic时,需要特别说明 异步调用 |
void |
DefaultMQProducer.send(Message msg,
MessageQueue mq,
SendCallback sendCallback) |
void |
MQProducer.send(Message msg,
MessageQueue mq,
SendCallback sendCallback)
向指定队列发送消息,异步调用
|
void |
DefaultMQProducer.send(Message msg,
SendCallback sendCallback) |
void |
MQProducer.send(Message msg,
SendCallback sendCallback)
发送消息,异步调用
|
TransactionSendResult |
DefaultMQProducer.sendMessageInTransaction(Message msg,
LocalTransactionExecuter tranExecuter,
Object arg) |
TransactionSendResult |
MQProducer.sendMessageInTransaction(Message msg,
LocalTransactionExecuter tranExecuter,
Object arg) |
TransactionSendResult |
TransactionMQProducer.sendMessageInTransaction(Message msg,
LocalTransactionExecuter tranExecuter,
Object arg) |
void |
DefaultMQProducer.sendOneway(Message msg) |
void |
MQProducer.sendOneway(Message msg)
发送消息,Oneway形式,服务器不应答,无法保证消息是否成功到达服务器
|
void |
DefaultMQProducer.sendOneway(Message msg,
MessageQueue mq) |
void |
MQProducer.sendOneway(Message msg,
MessageQueue mq)
向指定队列发送消息,Oneway形式,服务器不应答,无法保证消息是否成功到达服务器
|
void |
DefaultMQProducer.sendOneway(Message msg,
MessageQueueSelector selector,
Object arg) |
void |
MQProducer.sendOneway(Message msg,
MessageQueueSelector selector,
Object arg)
发送消息,可以自定义选择队列,队列的总数可能会由于Broker的启停变化
如果要保证消息严格有序,在向运维人员申请Topic时,需要特别说明 Oneway形式,服务器不应答,无法保证消息是否成功到达服务器 |
void |
DefaultMQProducer.start() |
void |
MQProducer.start()
启动服务
|
void |
TransactionMQProducer.start() |
MessageExt |
DefaultMQProducer.viewMessage(String msgId) |
Copyright © 2012–2013. All rights reserved.