开发者学堂课程【RocketMQ知识精讲与项目实战(第一阶段):发送单向消息】学习笔记,与课程紧密联系,让用户快速学习知识
课程地址:https://developer.aliyun.com/learning/course/702/detail/12378
发送单向消息
*单向发送消息
这种方式主要用在不特别关心发送结果的场景,例如日志发送。
public class  onewayproducer {
public static void main(string[]args) throws Exception{
//实例化消息生产者 Producer
DefaultMQProducer  producer=new  DefaultMQProducer ("please rename 
group name");
//设置 Nameserver 的地址
producer, setNamesrvAddr ("local host:9876");
//启动Producer实例
producer, start();
for (int i= 0 ;i < 100;i++) {
//创建消息,并指定 Topic,Tag 和消息体
Message msg=new Message("TopicTest"/*Topic*/,
"TagA"/*Tag*/,
("Hello RocketMQ"+i), get Bytes( RemotKogHelper .DEFAULT CHARSET)/"Message body"/
//发送单向消息,没有任何返回结果
producer.  sendoneway (msg);(和同步异步的主要区别)
}
//如果不再发送消息,关闭 Producer 实例。
producer. shutdown();
}
}
现在用代码实现一下这种消息发送的效果
public static void main(String[]args) throws Exception{
//1.剑建消息生产者 producer,并制定生产者组名
DefaultMQProducer  producer=new  DefaultMQProducer (producer 
Group."group I");
//2.指定 Nameserver 地址producer. setNamesrvAddr ("192.168.25,135:9876;192.168.25.138:9876");
//3.启动 producer
producer. start();
for(int i=0;i<10;i++){
//4.剑建消息对象,指定主题Topic、Tag和消息体(
/**
*参数一:消息主题 Topic
*参数二:消息 Tag
*参数三:消息内容
*/
Message msg new Message(topic"base", tags:"Tag 3",("Hello world",单向消息), get Bytes());
}
//5.发送单向消息
Producer.sendoneway(msg)
//线程睡1秒
TIME Unit.SECONDS.sleep(timeout:1);
//6.关闭生产者 producer
Producer.shudown();
发送之后的结果是连接太多了,一般来讲用的是比较少,可以睡眠3秒,然后运行
三条,就可以了
 
                             
                 
                 
                