|
||||||||||
| 上一个类 下一个类 | 框架 无框架 | |||||||||
| 摘要: 嵌套 | 字段 | 构造方法 | 方法 | 详细信息: 字段 | 构造方法 | 方法 | |||||||||
java.lang.Objectcom.alibaba.rocketmq.client.ClientConfig
com.alibaba.rocketmq.client.consumer.DefaultMQPushConsumer
public class DefaultMQPushConsumer
类似于Broker Push消息到Consumer方式,但实际仍然是Consumer内部后台从Broker Pull消息
采用长轮询方式拉消息,实时性同push方式一致,且不会无谓的拉消息导致Broker、Consumer压力增大
| 字段摘要 | |
|---|---|
protected DefaultMQPushConsumerImpl |
defaultMQPushConsumerImpl
|
| 构造方法摘要 | |
|---|---|
DefaultMQPushConsumer()
|
|
DefaultMQPushConsumer(String consumerGroup)
|
|
| 方法摘要 | |
|---|---|
void |
createTopic(String key,
String newTopic,
int queueNum)
创建topic |
long |
earliestMsgStoreTime(MessageQueue mq)
向服务器查询队列保存的最早消息对应的存储时间 |
Set<MessageQueue> |
fetchSubscribeMessageQueues(String topic)
根据topic获取对应的MessageQueue,是可被订阅的队列 P.S 从Consumer Cache中拿数据,可以频繁调用。 |
AllocateMessageQueueStrategy |
getAllocateMessageQueueStrategy()
|
int |
getConsumeConcurrentlyMaxSpan()
|
ConsumeFromWhere |
getConsumeFromWhere()
|
int |
getConsumeMessageBatchMaxSize()
|
String |
getConsumerGroup()
|
int |
getConsumeThreadMax()
|
int |
getConsumeThreadMin()
|
String |
getConsumeTimestamp()
|
DefaultMQPushConsumerImpl |
getDefaultMQPushConsumerImpl()
|
MessageListener |
getMessageListener()
|
MessageModel |
getMessageModel()
|
OffsetStore |
getOffsetStore()
|
int |
getPullBatchSize()
|
long |
getPullInterval()
|
int |
getPullThresholdForQueue()
|
Map<String,String> |
getSubscription()
|
boolean |
isPostSubscriptionWhenPull()
|
boolean |
isUnitMode()
|
long |
maxOffset(MessageQueue mq)
向服务器查询队列最大Offset PS: 最大Offset无对应消息,减1有消息 |
long |
minOffset(MessageQueue mq)
向服务器查询队列最小Offset PS: 最小Offset有对应消息 |
QueryResult |
queryMessage(String topic,
String key,
int maxNum,
long begin,
long end)
根据消息Key查询消息 |
void |
registerMessageListener(MessageListener messageListener)
注册消息监听器,一个Consumer只能有一个监听器 |
void |
resume()
消费线程恢复,继续消费 |
long |
searchOffset(MessageQueue mq,
long timestamp)
根据时间查询对应的offset,精确到毫秒 P.S. |
void |
sendMessageBack(MessageExt msg,
int delayLevel)
Consumer消费失败的消息可以选择重新发回到服务器端,并延时消费 会首先尝试将消息发回到消息之前存储的主机,此时只传送消息Offset,消息体不传送,不会占用网络带宽 如果发送失败,会自动重试发往其他主机,此时消息体也会传送 重传回去的消息只会被当前Consumer Group消费。 |
void |
setAllocateMessageQueueStrategy(AllocateMessageQueueStrategy allocateMessageQueueStrategy)
|
void |
setConsumeConcurrentlyMaxSpan(int consumeConcurrentlyMaxSpan)
|
void |
setConsumeFromWhere(ConsumeFromWhere consumeFromWhere)
|
void |
setConsumeMessageBatchMaxSize(int consumeMessageBatchMaxSize)
|
void |
setConsumerGroup(String consumerGroup)
|
void |
setConsumeThreadMax(int consumeThreadMax)
|
void |
setConsumeThreadMin(int consumeThreadMin)
|
void |
setConsumeTimestamp(String consumeTimestamp)
|
void |
setMessageListener(MessageListener messageListener)
|
void |
setMessageModel(MessageModel messageModel)
|
void |
setOffsetStore(OffsetStore offsetStore)
|
void |
setPostSubscriptionWhenPull(boolean postSubscriptionWhenPull)
|
void |
setPullBatchSize(int pullBatchSize)
|
void |
setPullInterval(long pullInterval)
|
void |
setPullThresholdForQueue(int pullThresholdForQueue)
|
void |
setSubscription(Map<String,String> subscription)
|
void |
setUnitMode(boolean isUnitMode)
|
void |
shutdown()
关闭服务,一旦关闭,此对象将不可用 |
void |
start()
启动服务,调用之前确保registerMessageListener与subscribe都已经调用 或者已经通过Spring注入了相关配置 |
void |
subscribe(String topic,
String subExpression)
订阅消息,方法可以调用多次来订阅不同的Topic,也可覆盖之前Topic的订阅过滤表达式 |
void |
suspend()
消费线程挂起,暂停消费 |
void |
unsubscribe(String topic)
取消订阅,从当前订阅组内注销,消息会被订阅组内其他订阅者订阅 |
void |
updateCorePoolSize(int corePoolSize)
动态调整消费线程池线程数量 |
MessageExt |
viewMessage(String msgId)
根据消息ID,从服务器获取完整的消息 |
| 从类 java.lang.Object 继承的方法 |
|---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait |
| 字段详细信息 |
|---|
protected final transient DefaultMQPushConsumerImpl defaultMQPushConsumerImpl
| 构造方法详细信息 |
|---|
public DefaultMQPushConsumer()
public DefaultMQPushConsumer(String consumerGroup)
| 方法详细信息 |
|---|
public void createTopic(String key,
String newTopic,
int queueNum)
throws MQClientException
MQAdmin 复制的描述
MQAdmin 中的 createTopickey - 请向运维人员申请newTopic - 要创建的新topicqueueNum - 新topic队列数
MQClientException
public long searchOffset(MessageQueue mq,
long timestamp)
throws MQClientException
MQAdmin 复制的描述
MQAdmin 中的 searchOffsetmq - 队列timestamp - 毫秒形式时间戳
MQClientException
public long maxOffset(MessageQueue mq)
throws MQClientException
MQAdmin 复制的描述
MQAdmin 中的 maxOffsetmq - 队列
MQClientException
public long minOffset(MessageQueue mq)
throws MQClientException
MQAdmin 复制的描述
MQAdmin 中的 minOffsetmq - 队列
MQClientException
public long earliestMsgStoreTime(MessageQueue mq)
throws MQClientException
MQAdmin 复制的描述
MQAdmin 中的 earliestMsgStoreTimemq - 队列
MQClientException
public MessageExt viewMessage(String msgId)
throws RemotingException,
MQBrokerException,
InterruptedException,
MQClientException
MQAdmin 复制的描述
MQAdmin 中的 viewMessageRemotingException
MQBrokerException
InterruptedException
MQClientException
public QueryResult queryMessage(String topic,
String key,
int maxNum,
long begin,
long end)
throws MQClientException,
InterruptedException
MQAdmin 复制的描述
MQAdmin 中的 queryMessagetopic - 消息主题key - 消息关键词maxNum - 查询最大条数begin - 起始时间戳end - 结束时间戳
MQClientException
InterruptedExceptionpublic AllocateMessageQueueStrategy getAllocateMessageQueueStrategy()
public void setAllocateMessageQueueStrategy(AllocateMessageQueueStrategy allocateMessageQueueStrategy)
public int getConsumeConcurrentlyMaxSpan()
public void setConsumeConcurrentlyMaxSpan(int consumeConcurrentlyMaxSpan)
public ConsumeFromWhere getConsumeFromWhere()
public void setConsumeFromWhere(ConsumeFromWhere consumeFromWhere)
public int getConsumeMessageBatchMaxSize()
public void setConsumeMessageBatchMaxSize(int consumeMessageBatchMaxSize)
public String getConsumerGroup()
public void setConsumerGroup(String consumerGroup)
public int getConsumeThreadMax()
public void setConsumeThreadMax(int consumeThreadMax)
public int getConsumeThreadMin()
public void setConsumeThreadMin(int consumeThreadMin)
public DefaultMQPushConsumerImpl getDefaultMQPushConsumerImpl()
public MessageListener getMessageListener()
public void setMessageListener(MessageListener messageListener)
public MessageModel getMessageModel()
public void setMessageModel(MessageModel messageModel)
public int getPullBatchSize()
public void setPullBatchSize(int pullBatchSize)
public long getPullInterval()
public void setPullInterval(long pullInterval)
public int getPullThresholdForQueue()
public void setPullThresholdForQueue(int pullThresholdForQueue)
public Map<String,String> getSubscription()
public void setSubscription(Map<String,String> subscription)
public void sendMessageBack(MessageExt msg,
int delayLevel)
throws RemotingException,
MQBrokerException,
InterruptedException,
MQClientException
MQConsumer 复制的描述
MQConsumer 中的 sendMessageBackRemotingException
MQBrokerException
InterruptedException
MQClientException
public Set<MessageQueue> fetchSubscribeMessageQueues(String topic)
throws MQClientException
MQConsumer 复制的描述
MQConsumer 中的 fetchSubscribeMessageQueuestopic - 消息Topic
MQClientException
public void start()
throws MQClientException
MQPushConsumer 复制的描述
MQPushConsumer 中的 startMQClientExceptionpublic void shutdown()
MQPushConsumer 复制的描述
MQPushConsumer 中的 shutdownpublic void registerMessageListener(MessageListener messageListener)
MQPushConsumer 复制的描述
MQPushConsumer 中的 registerMessageListener
public void subscribe(String topic,
String subExpression)
throws MQClientException
MQPushConsumer 复制的描述
MQPushConsumer 中的 subscribetopic - 消息主题subExpression - 订阅过滤表达式字符串,broker依据此表达式进行过滤。目前只支持或运算MQClientExceptionpublic void unsubscribe(String topic)
MQPushConsumer 复制的描述
MQPushConsumer 中的 unsubscribetopic - 消息主题public void updateCorePoolSize(int corePoolSize)
MQPushConsumer 复制的描述
MQPushConsumer 中的 updateCorePoolSizepublic void suspend()
MQPushConsumer 复制的描述
MQPushConsumer 中的 suspendpublic void resume()
MQPushConsumer 复制的描述
MQPushConsumer 中的 resumepublic OffsetStore getOffsetStore()
public void setOffsetStore(OffsetStore offsetStore)
public String getConsumeTimestamp()
public void setConsumeTimestamp(String consumeTimestamp)
public boolean isPostSubscriptionWhenPull()
public void setPostSubscriptionWhenPull(boolean postSubscriptionWhenPull)
public boolean isUnitMode()
public void setUnitMode(boolean isUnitMode)
|
||||||||||
| 上一个类 下一个类 | 框架 无框架 | |||||||||
| 摘要: 嵌套 | 字段 | 构造方法 | 方法 | 详细信息: 字段 | 构造方法 | 方法 | |||||||||