rocketmq发送第一条消息(三)
生活随笔
收集整理的這篇文章主要介紹了
rocketmq发送第一条消息(三)
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
直接上代碼
導(dǎo)包,pom.xml
<dependency><groupId>org.apache.rocketmq</groupId><artifactId>rocketmq-client</artifactId><version>4.6.1</version></dependency>生產(chǎn)者?
public static void main(String[] args) throws Exception{DefaultMQProducer producer = new DefaultMQProducer("testGrp");// 設(shè)置nameserver地址 nameserver具備路由功能(發(fā)現(xiàn)服務(wù),有點注冊中心的意思),讓其分配合理的broker來進行消息發(fā)送producer.setNamesrvAddr("192.168.52.11:9876");try {producer.start();} catch (MQClientException e) {e.printStackTrace();}// topic 消息將要發(fā)送的地址,消息目的地// body 消息中具體的數(shù)據(jù)Message message1 = new Message("monkeyTopic", "第1條消息".getBytes());Message message2 = new Message("monkeyTopic", "第2條消息".getBytes());Message message3 = new Message("monkeyTopic", "第3條消息".getBytes());List<Message> messageList = new ArrayList<>();messageList.add(message1);messageList.add(message2);messageList.add(message3);// 同步消息發(fā)送,等待broker返回值 sendResult是返回回來的 // SendResult sendResult = producer.send(message); // 單條消息發(fā)送SendResult sendResult = producer.send(messageList); // 多條消息同時發(fā)送,總大小官方建議小于1MSystem.out.println("sendResult: " + sendResult);producer.shutdown();}生產(chǎn)者啟動效果圖:
?
消費者
public static void main(String[] args) throws Exception{DefaultMQPushConsumer consumer = new DefaultMQPushConsumer("testConsumer");consumer.setNamesrvAddr("192.168.52.11:9876");// 每個消費者需要關(guān)注一個topic,也就說消費消息只能消息固定topic的消息,不能隨便消費// topic 表示消息地址// 過濾器 * 表示不過濾consumer.subscribe("monkeyTopic","*");consumer.registerMessageListener(new MessageListenerConcurrently() {@Overridepublic ConsumeConcurrentlyStatus consumeMessage(List<MessageExt> list, ConsumeConcurrentlyContext consumeConcurrentlyContext) {for (MessageExt messageExt : list){System.out.println(new String(messageExt.getBody()));}return ConsumeConcurrentlyStatus.CONSUME_SUCCESS;}});// 廣播消息,所有的監(jiān)聽同一個topic的都能收到consumer.setMessageModel(MessageModel.BROADCASTING);// 集群消息,消息只能消費一次 // consumer.setMessageModel(MessageModel.CLUSTERING);consumer.start();System.out.println("consumer start .....");}消費者消費啟動效果圖:
?
總結(jié)
以上是生活随笔為你收集整理的rocketmq发送第一条消息(三)的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: rocketmq之控制台rocketmq
- 下一篇: rocketmq发送顺序消息(四)