/** * $Id: DefaultMQPushConsumer.java 1831 2013-05-16 01:39:51Z shijia.wxr $ */ package com.alibaba.rocketmq.client.consumer; import java.util.HashMap; import java.util.List; import java.util.Map; import com.alibaba.rocketmq.client.MQClientConfig; import com.alibaba.rocketmq.client.QueryResult; import com.alibaba.rocketmq.client.consumer.listener.MessageListener; import com.alibaba.rocketmq.client.consumer.loadbalance.AllocateMessageQueueAveragely; import com.alibaba.rocketmq.client.exception.MQBrokerException; import com.alibaba.rocketmq.client.exception.MQClientException; import com.alibaba.rocketmq.client.impl.consumer.DefaultMQPushConsumerImpl; import com.alibaba.rocketmq.common.MessageExt; import com.alibaba.rocketmq.common.MixAll; import com.alibaba.rocketmq.common.MessageQueue; import com.alibaba.rocketmq.common.TopicFilterType; import com.alibaba.rocketmq.remoting.exception.RemotingException; /** * ����Consumer * * @author vintage.wang@gmail.com shijia.wxr@taobao.com * */ public class DefaultMQPushConsumer implements MQPushConsumer { /** * �ͻ��˹������ã��������޸� */ private MQClientConfig mQClientConfig = new MQClientConfig(); /** * ��ͬ�������Consumer��Ϊͬһ��Group��Ӧ�ñ������ã�����֤����Ψһ */ private String consumerGroup = MixAll.DEFAULT_CONSUMER_GROUP; /** * Consumer��Master����Slave����Ϣ */ private ConsumeFromWhichNode consumeFromWhichNode = ConsumeFromWhichNode.CONSUME_FROM_MASTER_FIRST; /** * Consumer����ʱ�������↑ʼ���� */ private ConsumeFromWhereOffset consumeFromWhereOffset = ConsumeFromWhereOffset.CONSUME_FROM_LAST_OFFSET; /** * ���з����㷨��Ӧ�ÿ���д */ private AllocateMessageQueueStrategy allocateMessageQueueStrategy = new AllocateMessageQueueAveragely(); /** * ���Ĺ�ϵ */ private Map<String /* topic */, String /* sub expression */> subscription = new HashMap<String, String>(); /** * ��Ϣ������ */ private MessageListener messageListener; /** * ������Ϣ�߳��� */ private int consumeThreadCount = 10; /** * ͬһ���в������ѵ�����ȣ�˳�����ѷ�ʽ����£��˲�����Ч */ private int consumeConcurrentlyMaxSpan = 1000; /** * ����һ����Ϣ������� */ private int consumeMessageBatchMaxSize = 1; private final DefaultMQPushConsumerImpl defaultMQPushConsumerImpl = new DefaultMQPushConsumerImpl(this); public DefaultMQPushConsumer() { } public DefaultMQPushConsumer(final String consumerGroup) { this.consumerGroup = consumerGroup; } @Override public void sendMessageBack(MessageExt msg, MessageQueue mq, int delayLevel) { // TODO Auto-generated method stub } @Override public void createTopic(String key, String newTopic, int queueNum, TopicFilterType topicFilterType, boolean order) throws MQClientException { // TODO Auto-generated method stub } @Override public long searchOffset(MessageQueue mq, long timestamp) throws MQClientException { // TODO Auto-generated method stub return 0; } @Override public long getMaxOffset(MessageQueue mq) throws MQClientException { // TODO Auto-generated method stub return 0; } @Override public long getMinOffset(MessageQueue mq) throws MQClientException { // TODO Auto-generated method stub return 0; } @Override public long getEarliestMsgStoreTime(MessageQueue mq) throws MQClientException { // TODO Auto-generated method stub return 0; } @Override public MessageExt viewMessage(String msgId) throws RemotingException, MQBrokerException, InterruptedException, MQClientException { // TODO Auto-generated method stub return null; } @Override public QueryResult queryMessage(String topic, String key, int maxNum, long begin, long end) throws MQClientException, InterruptedException { // TODO Auto-generated method stub return null; } @Override public void start() { // TODO Auto-generated method stub } @Override public void shutdown() { // TODO Auto-generated method stub } @Override public void registerMessageListener(MessageListener messageListener) { // TODO Auto-generated method stub } @Override public void subscribe(String topic, String subExpression) { // TODO Auto-generated method stub } @Override public void unsubscribe(String topic) { // TODO Auto-generated method stub } @Override public void suspend() { // TODO Auto-generated method stub } @Override public void resume() { // TODO Auto-generated method stub } @Override public List<MessageQueue> fetchSubscribeMessageQueues(String topic) throws MQClientException { // TODO Auto-generated method stub return null; } }