調試rocketmq源碼

1.從github下載rocketmq源碼
2.添加環境變量
name爲:ROCKETMQ_HOME
value爲:rocketmq源碼的路徑
3.從RocketMQ distribution部署目錄中將broker.conf、logback_broker.xml文件複製到conf目錄中,logback_namesrv.xml文件則只需修改日誌文件的目錄
4.新建啓動namesrv和broker
在這裏插入圖片描述
5.新建消費者測試類和生產者測試類

package org.apache.rocketmq.client.producer;

import org.apache.rocketmq.client.exception.MQClientException;
import org.apache.rocketmq.common.message.Message;
import org.apache.rocketmq.remoting.common.RemotingHelper;

public class TestProducer {
	public static void main(String[] args) throws MQClientException, 
    InterruptedException {
		DefaultMQProducer producer = new DefaultMQProducer("please_rename_unique_group_name");
		producer.setNamesrvAddr("127.0.0.1:9876");
		producer.start();
		for (int i = 0; i < Integer.MAX_VALUE; i++) {
			try {
				Message msg = new Message("TopicTest"/* Topic */,"TagA"/* Tag */,
						("Hello RocketMQ " + i).getBytes
						(RemotingHelper.DEFAULT_CHARSET)/* Message body */
						);
				SendResult sendResult = producer.send(msg);
				System.out.printf("%s%n", sendResult);
			} catch (Exception e) {
				e.printStackTrace();
				Thread.sleep(1000);
			}
		}
		producer.shutdown();
	}
}
package org.apache.rocketmq.client.consumer;

import java.util.List;

import org.apache.rocketmq.client.consumer.listener.ConsumeConcurrentlyStatus;
import org.apache.rocketmq.client.consumer.listener.MessageListenerConcurrently;
import org.apache.rocketmq.client.exception.MQClientException;
import org.apache.rocketmq.common.consumer.ConsumeFromWhere;
import org.apache.rocketmq.common.message.MessageExt;
import org.apache.rocketmq.client.consumer.listener.ConsumeConcurrentlyContext;

public class TestComsumer {
	public static void main(String[] args) throws InterruptedException, MQClientException {
		DefaultMQPushConsumer consumer = new 
				DefaultMQPushConsumer("please_rename_unique_group_name_4");
		consumer.setNamesrvAddr("127.0.0.1:9876");
		consumer.setConsumeFromWhere(ConsumeFromWhere.CONSUME_FROM_FIRST_OFFSET);
		consumer.subscribe("TopicTest", "*");
		consumer.registerMessageListener(new MessageListenerConcurrently() {
			public ConsumeConcurrentlyStatus consumeMessage(List<MessageExt> msgs, ConsumeConcurrentlyContext context) {
				System.out.printf("%s Receive New Messages: %s %n", Thread.currentThread().getName(), msgs);
				return ConsumeConcurrentlyStatus.CONSUME_SUCCESS;
			}
		});
		consumer.start();
		System.out.printf("Consumer Started.%n");
	}
}

可以看是調試了

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章