牛牛襄阳做网站,郑州网站建设市场,广州手工活外发加工网,单职业传奇网站通过三种方式来发送RocketMQ消息使用: 可靠的同步发送, 可靠的异步发送和单向传输。
这个页面举例说明了这三种消息发送方式. 根据示例找出最适合你的特定用例。
可靠的同步传输
应用#xff1a;可靠的同步传输广泛应用于重要通知消息#xff0c;短信通知#xff0c;短信…通过三种方式来发送RocketMQ消息使用: 可靠的同步发送, 可靠的异步发送和单向传输。
这个页面举例说明了这三种消息发送方式. 根据示例找出最适合你的特定用例。
可靠的同步传输
应用可靠的同步传输广泛应用于重要通知消息短信通知短信营销系统等..
public class SyncProducer {public static void main(String[] args) throws Exception {//Instantiate with a producer group name.DefaultMQProducer producer newDefaultMQProducer(please_rename_unique_group_name);//Launch the instance.producer.start();for (int i 0; i 100; i) {//Create a message instance, specifying topic, tag and message body.Message msg new Message(TopicTest /* Topic */,TagA /* Tag */,(Hello RocketMQ i).getBytes(RemotingHelper.DEFAULT_CHARSET) /* Message body */);//Call send message to deliver message to one of brokers.SendResult sendResult producer.send(msg);System.out.printf(%s%n, sendResult);}//Shut down once the producer instance is not longer in use.producer.shutdown();}
}
可靠的异步传输
应用异步传输通常用于响应时间敏感的业务场景。
public class AsyncProducer {public static void main(String[] args) throws Exception {//Instantiate with a producer group name.DefaultMQProducer producer new DefaultMQProducer(ExampleProducerGroup);//Launch the instance.producer.start();producer.setRetryTimesWhenSendAsyncFailed(0);for (int i 0; i 100; i) {final int index i;//Create a message instance, specifying topic, tag and message body.Message msg new Message(TopicTest,TagA,OrderID188,Hello world.getBytes(RemotingHelper.DEFAULT_CHARSET));producer.send(msg, new SendCallback() {Overridepublic void onSuccess(SendResult sendResult) {System.out.printf(%-10d OK %s %n, index,sendResult.getMsgId());}Overridepublic void onException(Throwable e) {System.out.printf(%-10d Exception %s %n, index, e);e.printStackTrace();}});}//Shut down once the producer instance is not longer in use.producer.shutdown();}
}
单向传输
应用单向传输用于需要中等可靠性的情况例如日志收集.
public class OnewayProducer {public static void main(String[] args) throws Exception{//Instantiate with a producer group name.DefaultMQProducer producer new DefaultMQProducer(ExampleProducerGroup);//Launch the instance.producer.start();for (int i 0; i 100; i) {//Create a message instance, specifying topic, tag and message body.Message msg new Message(TopicTest /* Topic */,TagA /* Tag */,(Hello RocketMQ i).getBytes(RemotingHelper.DEFAULT_CHARSET) /* Message body */);//Call send message to deliver message to one of brokers.producer.sendOneway(msg);}//Shut down once the producer instance is not longer in use.producer.shutdown();}
} 转自 并发编程网 – ifeve.com 地址: 《Apache RocketMQ用户指南》之简单消息示例
更多 RocketMQ的经典文章《Apache RocketMQ用户指南》官方文档