com.taobao.metamorphosis.client
类 MetaMessageSessionFactory

java.lang.Object
  继承者 com.taobao.metamorphosis.client.MetaMessageSessionFactory
所有已实现的接口:
MessageSessionFactory, Shutdownable
直接已知子类:
AsyncMetaMessageSessionFactory, MetaBroadcastMessageSessionFactory, OrderedMetaMessageSessionFactory, SlaveMetaMessageSessionFactory, XAMetaMessageSessionFactory

public class MetaMessageSessionFactory
extends Object
implements MessageSessionFactory

消息会话工厂,配置的优先级,优先使用传入的MetaClientConfig中的配置项, 其次使用MetaClientConfig中的zkConfig配置的zk中的选项,如果都没有,则从diamond获取zk地址来获取配置项

作者:
boyan, wuhua

字段摘要
static long MAX_SCHEDULE_WRITTEN_BYTES
           
protected  MetaZookeeper metaZookeeper
           
protected  ProducerZooKeeper producerZooKeeper
           
protected  RemotingClientWrapper remotingClient
           
protected  IdGenerator sessionIdGenerator
           
static boolean TCP_NO_DELAY
           
 
构造方法摘要
MetaMessageSessionFactory(MetaClientConfig metaClientConfig)
           
 
方法摘要
protected
<T extends Shutdownable>
T
addChild(T child)
           
protected  void checkConsumerConfig(ConsumerConfig consumerConfig)
           
 MessageConsumer createConsumer(ConsumerConfig consumerConfig)
          创建消息消费者,默认将offset存储在zk
 MessageConsumer createConsumer(ConsumerConfig consumerConfig, OffsetStorage offsetStorage)
          创建消息消费者,使用指定的offset存储器
protected  MessageConsumer createConsumer(ConsumerConfig consumerConfig, OffsetStorage offsetStorage, RecoverManager recoverManager0)
           
protected  LoadBalanceStrategy createLoadBalanceStrategy(ConsumerConfig consumerConfig)
           
 MessageProducer createProducer()
          创建消息生产者,默认使用轮询分区选择器
 MessageProducer createProducer(boolean ordered)
          已过时。 
 MessageProducer createProducer(PartitionSelector partitionSelector)
          创建消息生产者
 MessageProducer createProducer(PartitionSelector partitionSelector, boolean ordered)
          已过时。 
 TopicBrowser createTopicBrowser(String topic)
          Returns a topic browser to iterate all messages under the topic from all alive brokers.
 TopicBrowser createTopicBrowser(String topic, int maxSize, long timeout, TimeUnit timeUnit)
          Returns a topic browser to iterate all messages under the topic from all alive brokers.
 CopyOnWriteArrayList<Shutdownable> getChildren()
          返回此工厂创建的所有子对象,如生产者、消费者等
 ConsumerZooKeeper getConsumerZooKeeper()
          返回消费者和zk交互管理器
 MetaClientConfig getMetaClientConfig()
          返回客户端配置
 List<Partition> getPartitionsForTopic(String topic)
          Get partitions list for topic
 ProducerZooKeeper getProducerZooKeeper()
          返回生产者和zk交互管理器
 RecoverManager getRecoverStorageManager()
          返回本地恢复消息管理器
 RemotingClientWrapper getRemotingClient()
          返回通讯客户端
 Map<InetSocketAddress,StatsResult> getStats()
          Get statistics information from all brokers in this session factory.
 StatsResult getStats(InetSocketAddress target)
          Get statistics information from special broker.If the broker is not connected in this session factory,it will return null.
 StatsResult getStats(InetSocketAddress target, String item)
          Get item statistics information from special broker.If the broker is not connected in this session factory,it will return null.
 Map<InetSocketAddress,StatsResult> getStats(String item)
          Get item statistics information from all brokers in this session factory.
 SubscribeInfoManager getSubscribeInfoManager()
          返回订阅关系管理器
protected  ConsumerZooKeeper initConsumerZooKeeper(RemotingClientWrapper remotingClientWrapper, org.I0Itec.zkclient.ZkClient zkClient2, ZkUtils.ZKConfig config)
           
<T extends Shutdownable>
void
removeChild(T child)
          删除子会话
 void shutdown()
          关闭工厂
 
从类 java.lang.Object 继承的方法
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

字段详细信息

remotingClient

protected RemotingClientWrapper remotingClient

producerZooKeeper

protected final ProducerZooKeeper producerZooKeeper

sessionIdGenerator

protected final IdGenerator sessionIdGenerator

metaZookeeper

protected MetaZookeeper metaZookeeper

TCP_NO_DELAY

public static final boolean TCP_NO_DELAY

MAX_SCHEDULE_WRITTEN_BYTES

public static final long MAX_SCHEDULE_WRITTEN_BYTES
构造方法详细信息

MetaMessageSessionFactory

public MetaMessageSessionFactory(MetaClientConfig metaClientConfig)
                          throws MetaClientException
抛出:
MetaClientException
方法详细信息

getRemotingClient

public RemotingClientWrapper getRemotingClient()
返回通讯客户端

返回:

getSubscribeInfoManager

public SubscribeInfoManager getSubscribeInfoManager()
返回订阅关系管理器

返回:

getMetaClientConfig

public MetaClientConfig getMetaClientConfig()
返回客户端配置

返回:

getProducerZooKeeper

public ProducerZooKeeper getProducerZooKeeper()
返回生产者和zk交互管理器

返回:

getConsumerZooKeeper

public ConsumerZooKeeper getConsumerZooKeeper()
返回消费者和zk交互管理器

返回:

getRecoverStorageManager

public RecoverManager getRecoverStorageManager()
返回本地恢复消息管理器

返回:

getChildren

public CopyOnWriteArrayList<Shutdownable> getChildren()
返回此工厂创建的所有子对象,如生产者、消费者等

返回:

initConsumerZooKeeper

protected ConsumerZooKeeper initConsumerZooKeeper(RemotingClientWrapper remotingClientWrapper,
                                                  org.I0Itec.zkclient.ZkClient zkClient2,
                                                  ZkUtils.ZKConfig config)

shutdown

public void shutdown()
              throws MetaClientException
从接口 MessageSessionFactory 复制的描述
关闭工厂

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

createProducer

public MessageProducer createProducer(PartitionSelector partitionSelector)
从接口 MessageSessionFactory 复制的描述
创建消息生产者

指定者:
接口 MessageSessionFactory 中的 createProducer
参数:
partitionSelector - 分区选择器
返回:

createProducer

public MessageProducer createProducer()
从接口 MessageSessionFactory 复制的描述
创建消息生产者,默认使用轮询分区选择器

指定者:
接口 MessageSessionFactory 中的 createProducer
返回:

createProducer

@Deprecated
public MessageProducer createProducer(boolean ordered)
已过时。 

从接口 MessageSessionFactory 复制的描述
创建消息生产者,默认使用轮询分区选择器。本方法已经废弃,请勿使用,不排除在未来某个版本删除。

指定者:
接口 MessageSessionFactory 中的 createProducer
参数:
ordered - 是否有序,true为有序,如果有序,则消息按照发送顺序保存在MQ server
返回:

createProducer

@Deprecated
public MessageProducer createProducer(PartitionSelector partitionSelector,
                                                 boolean ordered)
已过时。 

从接口 MessageSessionFactory 复制的描述
创建消息生产者,本方法已经废弃,请勿使用,不排除在未来某个版本删除。

指定者:
接口 MessageSessionFactory 中的 createProducer
参数:
partitionSelector - 分区选择器
ordered - 是否有序,true为有序,如果有序,则消息按照发送顺序保存在MQ server
返回:

addChild

protected <T extends Shutdownable> T addChild(T child)

removeChild

public <T extends Shutdownable> void removeChild(T child)
删除子会话

类型参数:
T -
参数:
child -

createLoadBalanceStrategy

protected LoadBalanceStrategy createLoadBalanceStrategy(ConsumerConfig consumerConfig)

createConsumer

protected MessageConsumer createConsumer(ConsumerConfig consumerConfig,
                                         OffsetStorage offsetStorage,
                                         RecoverManager recoverManager0)

createConsumer

public MessageConsumer createConsumer(ConsumerConfig consumerConfig,
                                      OffsetStorage offsetStorage)
从接口 MessageSessionFactory 复制的描述
创建消息消费者,使用指定的offset存储器

指定者:
接口 MessageSessionFactory 中的 createConsumer
参数:
consumerConfig - 消费者配置
offsetStorage - offset存储器
返回:

getStats

public Map<InetSocketAddress,StatsResult> getStats(String item)
                                            throws InterruptedException
从接口 MessageSessionFactory 复制的描述
Get item statistics information from all brokers in this session factory.

指定者:
接口 MessageSessionFactory 中的 getStats
参数:
item - stats item,could be "topics","realtime","offsets" or a special topic
返回:
statistics result
抛出:
InterruptedException

getStats

public Map<InetSocketAddress,StatsResult> getStats()
                                            throws InterruptedException
从接口 MessageSessionFactory 复制的描述
Get statistics information from all brokers in this session factory.

指定者:
接口 MessageSessionFactory 中的 getStats
返回:
statistics result
抛出:
InterruptedException

getStats

public StatsResult getStats(InetSocketAddress target,
                            String item)
                     throws InterruptedException
从接口 MessageSessionFactory 复制的描述
Get item statistics information from special broker.If the broker is not connected in this session factory,it will return null.

指定者:
接口 MessageSessionFactory 中的 getStats
参数:
target - stats broker
item - stats item,could be "topics","realtime","offsets" or a special topic
返回:
statistics result
抛出:
InterruptedException

getStats

public StatsResult getStats(InetSocketAddress target)
                     throws InterruptedException
从接口 MessageSessionFactory 复制的描述
Get statistics information from special broker.If the broker is not connected in this session factory,it will return null.

指定者:
接口 MessageSessionFactory 中的 getStats
参数:
target - stats broker
返回:
statistics result
抛出:
InterruptedException

getPartitionsForTopic

public List<Partition> getPartitionsForTopic(String topic)
从接口 MessageSessionFactory 复制的描述
Get partitions list for topic

指定者:
接口 MessageSessionFactory 中的 getPartitionsForTopic
返回:
partitions list

createConsumer

public MessageConsumer createConsumer(ConsumerConfig consumerConfig)
从接口 MessageSessionFactory 复制的描述
创建消息消费者,默认将offset存储在zk

指定者:
接口 MessageSessionFactory 中的 createConsumer
参数:
consumerConfig - 消费者配置
返回:

checkConsumerConfig

protected void checkConsumerConfig(ConsumerConfig consumerConfig)

createTopicBrowser

public TopicBrowser createTopicBrowser(String topic)
从接口 MessageSessionFactory 复制的描述
Returns a topic browser to iterate all messages under the topic from all alive brokers.

指定者:
接口 MessageSessionFactory 中的 createTopicBrowser
参数:
topic - the topic
返回:
topic browser
另请参见:
MessageSessionFactory.createTopicBrowser(String, int, long, TimeUnit)

createTopicBrowser

public TopicBrowser createTopicBrowser(String topic,
                                       int maxSize,
                                       long timeout,
                                       TimeUnit timeUnit)
从接口 MessageSessionFactory 复制的描述
Returns a topic browser to iterate all messages under the topic from all alive brokers.

指定者:
接口 MessageSessionFactory 中的 createTopicBrowser
参数:
topic - the topic
maxSize - fetch batch size in bytes.
timeout - timeout value to fetch messages.
timeUnit - timeout value unit.
返回:
topic browser


Copyright © 2010–2013. All rights reserved.