ActiveMQ之发布、订阅使用详解编程语言
编程语言 使用 详解 发布 订阅 activemq
2023-06-13 09:20:46 时间
public static void main(String[] args) throws JMSException {
// 先创建连接工厂 密码默认采用admin admin
ActiveMQConnectionFactory activeMQConnectionFactory = new ActiveMQConnectionFactory(url);
// 创建连接
Connection connection = activeMQConnectionFactory.createConnection();
// 启动连接
connection.start();
// 创建会话
Session session = connection.createSession(false, Session.AUTO_ACKNOWLEDGE); // 是否需要事务方式提交 消费方式默认自动签收
// 创建生产者 MessageProducer producer = session.createProducer(topic); // 生产者生产的消息 是放在这个queue里面的 for (int i = 1; i i++) { // 拿到队列 创建消息 TextMessage textMessage = session.createTextMessage("消息内容" + i); // 发送消息 producer.send(textMessage); // 关闭连接 connection.close(); System.out.println("消息发送完毕"); }
// 创建生产者 MessageProducer producer = session.createProducer(topic); // 生产者生产的消息 是放在这个queue里面的 for (int i = 1; i i++) { // 拿到队列 创建消息 TextMessage textMessage = session.createTextMessage("消息内容" + i); // 发送消息 producer.send(textMessage); // 关闭连接 connection.close(); System.out.println("消息发送完毕"); }
结果:
发布订阅模式!先启动订阅 在启动发布!!!!!!
package com.toov5.subscribe; import javax.jms.Connection; import javax.jms.JMSException; import javax.jms.Message; import javax.jms.MessageConsumer; import javax.jms.MessageListener; import javax.jms.Session; import javax.jms.TextMessage; import javax.jms.Topic; import org.apache.activemq.ActiveMQConnectionFactory;
private static String topicName = "toov5_topic"; public static void main(String[] args) throws JMSException { // 先创建连接工厂 密码默认采用admin admin ActiveMQConnectionFactory activeMQConnectionFactory = new ActiveMQConnectionFactory(url); // 创建连接 Connection connection = activeMQConnectionFactory.createConnection(); // 启动连接 connection.start(); // 创建会话 Session session = connection.createSession(false, Session.AUTO_ACKNOWLEDGE); // 是否需要事务方式提交 消费方式默认自动签收 // 拿到session 创建目标 创建主题 Topic topic =session.createTopic(topicName);
System.out.println("consumer 消费 producer:"+textMessage.getText()); } catch (JMSException e) { e.printStackTrace(); }); //监听时候 不要关闭连接 关闭就不监听了 一只处于监听状态 (长连接) }
结果:
如果启动一个生产者 两个消费者 那么消费者消费都到的是一样的!
16177.html
cjava相关文章
- springmvc基础篇—使用注解方式为前台提供数据详解编程语言
- python从文本文件中选出使用频率最多的单词详解编程语言
- 使用Python 获取文件的MD5详解编程语言
- java使用poi读取excel文件代码示例详解编程语言
- struts2 使用总结详解编程语言
- java 同步方法的使用 防止多线程同时执行方法详解编程语言
- [email protected]@resource的使用详解编程语言
- JavaWeb学习总结(五十三)——Web应用中使用JavaMail发送邮件详解编程语言
- MyBatis学习总结(二)——使用MyBatis对表执行CRUD操作详解编程语言
- Spring配置中transactionAttributes的使用方法和作用详解编程语言
- Java NIO介绍和基本使用demo详解编程语言
- 定时任务:Java中Timer和TimerTask的使用详解编程语言
- java使用正则从txt文档中提取数字邮箱详解编程语言
- MyEclipse的快捷键大全使用详解编程语言
- [五]java函数式编程归约reduce概念原理 stream reduce方法详解 reduce三个参数的reduce方法如何使用编程语言
- 使用dom4j解析XML详解编程语言
- spring Boot(十九):使用Spring Boot Actuator监控应用详解编程语言
- List 集合 使用 remove 踩得坑详解编程语言