美文网首页
ActiveMQ 消息发送的多种方式

ActiveMQ 消息发送的多种方式

作者: 超人也害羞 | 来源:发表于2020-03-08 23:06 被阅读0次

ActiveMQ Producer 发送消息有同步异步两种方式。


mq发送消息的多种方式.png
ActiveMQ 事务

优点: 保证消息不丢失.
缺点: 性能损失。客户端多了事务创建,提交,回滚的IO消耗。Broker需要额外维护事务信息。

client-broker事务交互.png
Sync Send Msg With TX
Session session = connection.createSession(true, Session.SESSION_TRANSACTED);
Topic topic = session.createTopic("Test.Transactions");
MessageProducer producer = session.createProducer(topic);
producer.send(session.createTextMessage("message"));
// 没有显示commit,不会把消息添加到pending队列中.
session.commit();
Sync Send Msg Without TX
Session session = connection.createSession(false, Session.AUTO_ACKNOWLEDGE);
MessageProducer producer = session.createProducer(session.createQueue("studyQueue"));
Message message = session.createTextMessage("hello everybody!");
// 消息会立刻发送到broker
producer.send(message);
session.close();

相关文章

网友评论

      本文标题:ActiveMQ 消息发送的多种方式

      本文链接:https://www.haomeiwen.com/subject/jcusdhtx.html