com.taobao.metamorphosis.client.consumer
接口 MessageConsumer

所有超级接口:
Shutdownable
所有已知实现类:
SimpleMessageConsumer

public interface MessageConsumer
extends Shutdownable

消息消费者,线程安全,推荐复用

作者:
boyan

方法摘要
 void completeSubscribe()
          使得已经订阅的topic生效,此方法仅能调用一次,再次调用无效并将抛出异常
 MessageIterator get(String topic, Partition partition, long offset, int maxSize)
          获取指定topic和分区下面的消息,默认超时10秒
 MessageIterator get(String topic, Partition partition, long offset, int maxSize, long timeout, TimeUnit timeUnit)
          获取指定topic和分区下面的消息,在指定时间内没有返回则抛出异常
 ConsumerConfig getConsumerConfig()
          返回消费者配置
 OffsetStorage getOffsetStorage()
          返回此消费者使用的offset存储器,可共享给其他消费者
 RejectConsumptionHandler getRejectConsumptionHandler()
          Returns current RejectConsumptionHandler
 void setRejectConsumptionHandler(RejectConsumptionHandler rejectConsumptionHandler)
          Sets RejectConsumptionHandler for this consumer.
 void setSubscriptions(Collection<com.taobao.metamorphosis.client.consumer.Subscription> subscriptions)
          批量订阅消息,请注意,调用此方法并不会使订阅关系立即生效,只有在调用complete方法后才生效。
 void shutdown()
          停止消费者
 MessageConsumer subscribe(String topic, int maxSize, MessageListener messageListener)
          订阅指定的消息,传入MessageListener,当有消息达到的时候主动通知MessageListener,请注意, 调用此方法并不会使订阅关系立即生效, 只有在调用complete方法后才生效,此方法可做链式调用
 MessageConsumer subscribe(String topic, int maxSize, MessageListener messageListener, ConsumerMessageFilter consumerMessageFilter)
          订阅指定的消息,传入MessageListener和ConsumerMessageFilter, 当有消息到达并且ConsumerMessageFilter #accept返回true的时候,主动通知MessageListener该条消息,请注意, 调用此方法并不会使订阅关系立即生效, 只有在调用complete方法后才生效,此方法可做链式调用
 

方法详细信息

get

MessageIterator get(String topic,
                    Partition partition,
                    long offset,
                    int maxSize)
                    throws MetaClientException,
                           InterruptedException
获取指定topic和分区下面的消息,默认超时10秒

参数:
topic -
partition -
返回:
消息迭代器,可能为null
抛出:
MetaClientException
InterruptedException

get

MessageIterator get(String topic,
                    Partition partition,
                    long offset,
                    int maxSize,
                    long timeout,
                    TimeUnit timeUnit)
                    throws MetaClientException,
                           InterruptedException
获取指定topic和分区下面的消息,在指定时间内没有返回则抛出异常

参数:
topic -
partition -
timeout -
timeUnit -
返回:
消息迭代器,可能为null
抛出:
TimeoutException
MetaClientException
InterruptedException

subscribe

MessageConsumer subscribe(String topic,
                          int maxSize,
                          MessageListener messageListener)
                          throws MetaClientException
订阅指定的消息,传入MessageListener,当有消息达到的时候主动通知MessageListener,请注意, 调用此方法并不会使订阅关系立即生效, 只有在调用complete方法后才生效,此方法可做链式调用

参数:
topic - 订阅的topic
maxSize - 订阅每次接收的最大数据大小
messageListener - 消息监听器
抛出:
MetaClientException

subscribe

MessageConsumer subscribe(String topic,
                          int maxSize,
                          MessageListener messageListener,
                          ConsumerMessageFilter consumerMessageFilter)
                          throws MetaClientException
订阅指定的消息,传入MessageListener和ConsumerMessageFilter, 当有消息到达并且ConsumerMessageFilter #accept返回true的时候,主动通知MessageListener该条消息,请注意, 调用此方法并不会使订阅关系立即生效, 只有在调用complete方法后才生效,此方法可做链式调用

参数:
topic - 订阅的topic
maxSize - 订阅每次接收的最大数据大小
messageListener -
ConsumerMessageFilter - message filter 消息监听器
抛出:
MetaClientException

setSubscriptions

void setSubscriptions(Collection<com.taobao.metamorphosis.client.consumer.Subscription> subscriptions)
                      throws MetaClientException
批量订阅消息,请注意,调用此方法并不会使订阅关系立即生效,只有在调用complete方法后才生效。

参数:
subscriptions -
抛出:
MetaClientException

completeSubscribe

void completeSubscribe()
                       throws MetaClientException
使得已经订阅的topic生效,此方法仅能调用一次,再次调用无效并将抛出异常

抛出:
MetaClientException

getOffsetStorage

OffsetStorage getOffsetStorage()
返回此消费者使用的offset存储器,可共享给其他消费者

返回:

shutdown

void shutdown()
              throws MetaClientException
停止消费者

指定者:
接口 Shutdownable 中的 shutdown
抛出:
MetaClientException

getConsumerConfig

ConsumerConfig getConsumerConfig()
返回消费者配置

返回:

getRejectConsumptionHandler

RejectConsumptionHandler getRejectConsumptionHandler()
Returns current RejectConsumptionHandler

返回:

setRejectConsumptionHandler

void setRejectConsumptionHandler(RejectConsumptionHandler rejectConsumptionHandler)
Sets RejectConsumptionHandler for this consumer.

参数:
rejectConsumptionHandler -


Copyright © 2010–2013. All rights reserved.