ActiveMQ代码-01
时间:2020-05-09
本文章向大家介绍ActiveMQ代码-01,主要包括ActiveMQ代码-01使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。
p2p模式
生产者
package com.activemq.activemqdemo.p2p; import org.apache.activemq.ActiveMQConnectionFactory; import javax.jms.*; public class JMSProducer { public static final String ACTIVE_URL = "tcp://127.0.0.1:61616"; // 队列名称 public static final String QUEUE_NAME = "index"; public static void main(String[] args) throws JMSException { // 1)获取工厂 ConnectionFactory,使用默认的用户名和密码admin/admin, 指定URL ActiveMQConnectionFactory connectionFactory = new ActiveMQConnectionFactory(ACTIVE_URL); // 2)获取连接 Connection connection = connectionFactory.createConnection(); // 3)启动连接 connection.start(); // 4)创建Session ,参数transacted:事务,acknowledgeMode响应模式 Session session = connection.createSession(false, Session.AUTO_ACKNOWLEDGE); // 5)创建目的地: 队列 Queue queue = session.createQueue(QUEUE_NAME); // 6)创建生产者,参数destination表示目的地---Queue MessageProducer messageProducer = session.createProducer(queue); // 7)发送消息 for (int i = 1 ; i <= 10; i++){ TextMessage textMessage = session.createTextMessage("index队列中的消息:" + i); messageProducer.send(textMessage); } // 8)关闭资源 messageProducer.close(); session.close(); connection.close(); } }
消费者
package com.activemq.activemqdemo.p2p; import org.apache.activemq.ActiveMQConnectionFactory; import javax.jms.*; import java.io.IOException; public class JMSConsumer { public static final String ACTIVE_URL = "tcp://127.0.0.1:61616"; // 队列名称 public static final String QUEUE_NAME = "index"; public static void main(String[] args) throws JMSException, IOException { // 1)获取工厂 ConnectionFactory,使用摸摸人的用户名和密码admin/admin, 指定URL ActiveMQConnectionFactory connectionFactory = new ActiveMQConnectionFactory(ACTIVE_URL); // 2)获取连接 Connection connection = connectionFactory.createConnection(); // 3)启动连接 connection.start(); // 4)创建Session ,参数transacted:事务,acknowledgeMode响应模式 Session session = connection.createSession(false, Session.AUTO_ACKNOWLEDGE); // 5)创建目的地: 队列 Queue queue = session.createQueue(QUEUE_NAME); // 6)创建消费者, MessageConsumer messageConsumer = session.createConsumer(queue); // 7)接收消息: 获取队列中的所有消息,消费者一直接收消息 /*while (true){ TextMessage msg = (TextMessage) messageConsumer.receive(); if (msg != null){ // 接收到消息了 System.out.println("JMSConsumer接收到消息了:"+msg.getText()); }else { // 队列中的消息全部接收完毕 System.out.println("-----消息接收完成----"); break; } }*/ // 7)通过监听的方式接受消息,有消息就接受 没消息就结束了监听 方法参数是MessageListenter接口 ,匿名及内部类非阻塞的 messageConsumer.setMessageListener(new MessageListener() { @Override public void onMessage(Message message) { // 对象 instanceof 类型 TextMessage textMessage = (TextMessage) message; if (message != null && message instanceof TextMessage){ try { System.out.println("JMSConsumer接收到消息了:"+textMessage.getText()); } catch (JMSException e) { e.printStackTrace(); } } } }); System.in.read(); // 8)关闭资源 messageConsumer.close(); session.close(); connection.close(); } }
package com.activemq.activemqdemo.p2p; import org.apache.activemq.ActiveMQConnectionFactory; import javax.jms.*; public class JMSConsumer2 { public static final String ACTIVE_URL = "tcp://127.0.0.1:61616"; // 队列名称 public static final String QUEUE_NAME = "index"; public static void main(String[] args) throws JMSException { // 1)获取工厂 ConnectionFactory,使用摸摸人的用户名和密码admin/admin, 指定URL ActiveMQConnectionFactory connectionFactory = new ActiveMQConnectionFactory(ACTIVE_URL); // 2)获取连接 Connection connection = connectionFactory.createConnection(); // 3)启动连接 connection.start(); // 4)创建Session ,参数transacted:事务,acknowledgeMode响应模式 Session session = connection.createSession(false, Session.AUTO_ACKNOWLEDGE); // 5)创建目的地: 队列 Queue queue = session.createQueue(QUEUE_NAME); // 6)创建消费者, MessageConsumer messageConsumer = session.createConsumer(queue); // 7)接收消息: 获取队列中的所有消息,消费者一直接收消息 while (true){ TextMessage msg = (TextMessage) messageConsumer.receive(); if (msg != null){ // 接收到消息了 System.out.println("JMSConsumer接收到消息了:"+msg.getText()); }else { // 队列中的消息全部接收完毕 System.out.println("-----消息接收完成----"); break; } } // 8)关闭资源 messageConsumer.close(); session.close(); connection.close(); } }
Topic
生产者
package com.activemq.activemqdemo.topic; import org.apache.activemq.ActiveMQConnectionFactory; import javax.jms.*; public class JMSProducer { public static final String ACTIVE_URL = "tcp://127.0.0.1:61616"; // 队列名称 public static final String TOPIC_NAME = "index-topic"; public static void main(String[] args) throws JMSException { // 1)获取工厂 ConnectionFactory,使用默认的用户名和密码admin/admin, 指定URL ActiveMQConnectionFactory connectionFactory = new ActiveMQConnectionFactory(ACTIVE_URL); // 2)获取连接 Connection connection = connectionFactory.createConnection(); // 3)启动连接 connection.start(); // 4)创建Session ,参数transacted:事务,acknowledgeMode响应模式 Session session = connection.createSession(false, Session.AUTO_ACKNOWLEDGE); // 5)创建目的地: 主题 Topic topic = session.createTopic(TOPIC_NAME); // 6)创建生产者,参数destination表示目的地---topic MessageProducer messageProducer = session.createProducer(topic); // 7)发送消息 for (int i = 1 ; i <= 10; i++){ TextMessage textMessage = session.createTextMessage("index队列中的消息:" + i); messageProducer.send(textMessage); } // 8)关闭资源 messageProducer.close(); session.close(); connection.close(); } }
消费者
package com.activemq.activemqdemo.topic; import org.apache.activemq.ActiveMQConnectionFactory; import javax.jms.*; import java.io.IOException; public class JMSConsumer { public static final String ACTIVE_URL = "tcp://127.0.0.1:61616"; // 队列名称 public static final String TOPIC_NAME = "index-topic"; public static void main(String[] args) throws JMSException, IOException { // 1)获取工厂 ConnectionFactory,使用摸摸人的用户名和密码admin/admin, 指定URL ActiveMQConnectionFactory connectionFactory = new ActiveMQConnectionFactory(ACTIVE_URL); // 2)获取连接 Connection connection = connectionFactory.createConnection(); // 3)启动连接 connection.start(); // 4)创建Session ,参数transacted:事务,acknowledgeMode响应模式 Session session = connection.createSession(false, Session.AUTO_ACKNOWLEDGE); // 5)创建目的地: 队列 Topic topic = session.createTopic(TOPIC_NAME); // 6)创建消费者, MessageConsumer messageConsumer = session.createConsumer(topic); // 7)通过监听的方式接受消息,有消息就接受 没消息就结束了监听 方法参数是MessageListenter接口 ,匿名及内部类非阻塞的 messageConsumer.setMessageListener(new MessageListener() { @Override public void onMessage(Message message) { // 对象 instanceof 类型 TextMessage textMessage = (TextMessage) message; if (message != null && message instanceof TextMessage){ try { System.out.println("消费者1的主题接收到消息了:"+textMessage.getText()); } catch (JMSException e) { e.printStackTrace(); } } } }); System.in.read(); // 8)关闭资源 messageConsumer.close(); session.close(); connection.close(); } }
package com.activemq.activemqdemo.topic; import org.apache.activemq.ActiveMQConnectionFactory; import javax.jms.*; import java.io.IOException; public class JMSConsumer2 { public static final String ACTIVE_URL = "tcp://127.0.0.1:61616"; // 队列名称 public static final String TOPIC_NAME = "index-topic"; public static void main(String[] args) throws JMSException, IOException { // 1)获取工厂 ConnectionFactory,使用摸摸人的用户名和密码admin/admin, 指定URL ActiveMQConnectionFactory connectionFactory = new ActiveMQConnectionFactory(ACTIVE_URL); // 2)获取连接 Connection connection = connectionFactory.createConnection(); // 3)启动连接 connection.start(); // 4)创建Session ,参数transacted:事务,acknowledgeMode响应模式 Session session = connection.createSession(false, Session.AUTO_ACKNOWLEDGE); // 5)创建目的地: 主题 Topic topic = session.createTopic(TOPIC_NAME); // 6)创建消费者, MessageConsumer messageConsumer = session.createConsumer(topic); // 7)通过监听的方式接受消息,有消息就接受 没消息就结束了监听 方法参数是MessageListenter接口 ,匿名及内部类非阻塞的 messageConsumer.setMessageListener(new MessageListener() { @Override public void onMessage(Message message) { // 对象 instanceof 类型 TextMessage textMessage = (TextMessage) message; if (message != null && message instanceof TextMessage){ try { System.out.println("消费者2的主题接收到消息了:"+textMessage.getText()); } catch (JMSException e) { e.printStackTrace(); } } } }); System.in.read(); // 8)关闭资源 messageConsumer.close(); session.close(); connection.close(); } }
-----------
--------------------------------------------------------------------------------------------------------------------------------------------
------------
原文地址:https://www.cnblogs.com/caoxinfang/p/12858951.html
- 【完结汇总】iKcamp出品基于Koa2搭建Node.js实战共十一堂课(含视频)
- hadoop性能调优
- iKcamp|基于Koa2搭建Node.js实战(含视频)☞ 规范与部署
- iKcamp|基于Koa2搭建Node.js实战(含视频)☞ 错误处理
- DiscuzX v3.4 任意文件删除漏洞
- 系列3|走进Node.js之多进程模型
- Java中Arraylist与linkedlist的区别
- 手把手教你撸一个 Webpack Loader
- HashMap与HashTable区别
- iKcamp|基于Koa2搭建Node.js实战(含视频)☞ 记录日志
- React Native 网络层分析
- 如何实现VM框架中的数据绑定
- Java盲点解析
- iKcamp|基于Koa2搭建Node.js实战(含视频)☞ 解析JSON
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- 2020-mac 安装jdk1.8
- AWVS acunetix_WVS13的基础使用
- 为啥PHP in_array(0,['a', 'b', 'c']) 返回为true?
- docker安装伏羲扫描器fuxi-scanner
- 基于深度学习的文本分类应用!
- 表驱动法
- mysql将表结构导出excel
- 为什么会是Docker?
- 浅析http报文
- MySQL explain 中的 rows 究竟是如何计算的?
- SwiftUI: 使用 Touch ID 和 Face I
- Linux 系统中查找正在运行的进程的完整命令、当前工作目录等信息的方法
- Go by Example 中文:通道方向
- mycat数据库集群系列之mysql主从同步设置
- Tun/Tap接口使用指导