Atitit mq读取队列信息 范例 目录 1.1. 读取原理与主要流程 1 1.2. 范例项目 C:\0wkspc\MqDemoPrj 1 1.3. 范例代码 1 1.1.读取原理与主要流程
Atitit mq读取队列信息 范例
目录
1.1. 读取原理与主要流程 1
1.2. 范例项目 C:\0wkspc\MqDemoPrj 1
1.3. 范例代码 1
- 读取原理与主要流程
和数据库一样,mq可以看作一个高性能数据库
建立conn,打开session
连接队列按照队列名称,,队列可以看作一个表格
session.createQueue("text-msg");
//根据session,创建一个接收者对象
consumer = session.createConsumer(destination);
//实现一个消息的监听器
import javax.jms.Connection;
import javax.jms.ConnectionFactory;
import javax.jms.Destination;
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 org.apache.activemq.ActiveMQConnectionFactory;
public class PTPReceive {
//连接账号
private String userName = "";
//连接密码
private String password = "";
//连接地址
private String brokerURL = "tcp://localhost:61616";
//connection的工厂
private ConnectionFactory factory;
//连接对象
private Connection connection;
//一个操作会话
private Session session;
//目的地,其实就是连接到哪个队列,如果是点对点,那么它的实现是Queue,如果是订阅模式,那它的实现是Topic
private Destination destination;
//消费者,就是接收数据的对象
private MessageConsumer consumer;
public static void main(String[] args) {
PTPReceive receive = new PTPReceive();
receive.start();
}
public void start(){
try {
//根据用户名,密码,url创建一个连接工厂
factory = new ActiveMQConnectionFactory(userName, password, brokerURL);
//从工厂中获取一个连接
connection = factory.createConnection();
//测试过这个步骤不写也是可以的,但是网上的各个文档都写了
connection.start();
//创建一个session
//第一个参数:是否支持事务,如果为true,则会忽略第二个参数,被jms服务器设置为SESSION_TRANSACTED
//第二个参数为false时,paramB的值可为Session.AUTO_ACKNOWLEDGE,Session.CLIENT_ACKNOWLEDGE,DUPS_OK_ACKNOWLEDGE其中一个。
//Session.AUTO_ACKNOWLEDGE为自动确认,客户端发送和接收消息不需要做额外的工作。哪怕是接收端发生异常,也会被当作正常发送成功。
//Session.CLIENT_ACKNOWLEDGE为客户端确认。客户端接收到消息后,必须调用javax.jms.Message的acknowledge方法。jms服务器才会当作发送成功,并删除消息。
//DUPS_OK_ACKNOWLEDGE允许副本的确认模式。一旦接收方应用程序的方法调用从处理消息处返回,会话对象就会确认消息的接收;而且允许重复确认。
session = connection.createSession(false, Session.AUTO_ACKNOWLEDGE);
//创建一个到达的目的地,其实想一下就知道了,activemq不可能同时只能跑一个队列吧,这里就是连接了一个名为"text-msg"的队列,这个会话将会到这个队列,当然,如果这个队列不存在,将会被创建
destination = session.createQueue("text-msg");
//根据session,创建一个接收者对象
consumer = session.createConsumer(destination);
//实现一个消息的监听器
//实现这个监听器后,以后只要有消息,就会通过这个监听器接收到
consumer.setMessageListener(new MessageListener() {
@Override
public void onMessage(Message message) {
try {
//获取到接收的数据
String text = ((TextMessage)message).getText();
System.out.println("receed"+text);
} catch (JMSException e) {
e.printStackTrace();
}
}
});
//关闭接收端,也不会终止程序哦
// consumer.close();
} catch (JMSException e) {
e.printStackTrace();
}
}
}
Atitit 消息系统 mq 之道 attilax总结
Atitit activemq 消息系统服务使用说总结
Atitit mq读取队列信息 范例 目录 1.1. 读取原理与主要流程 1 1.2. 范例项目 C:\0wkspc\MqDemoPrj 1 1.3. 范例代码 1 1.1.读取原理与主要流程相关推荐
- 身份证读取设备开发解决方案:2、Android下通过usb转串口读取身份证信息
身份证读取设备开发解决方案:2.Android下通过usb转串口读取身份证信息 文章目录 身份证读取设备开发解决方案:2.Android下通过usb转串口读取身份证信息 1. 前言 2. 准备 3. ...
- java生成函数excel_如何通过Java代码实现创建和读取Excel公式
如何通过Java代码实现创建和读取Excel公式 发布时间:2020-06-06 21:58:24 来源:亿速云 阅读:250 作者:Leah 如何通过Java代码实现创建和读取Excel公式?相信大 ...
- mq查看队列管理器信息linux,IBM WebSphere MQ for linux 安装详解 | MUCHINFO
前言 首先介绍一下MQ MQ消息队列的简称是一种应用程序对应用程序的通信方法.说白了也就是通过队列的方式来对应用程序进行数据通信.而无需专用链接来链接它们. MQ的通讯方式 1.数据报的方式 Data ...
- 多维度对比5款主流分布式MQ消息队列,妈妈再也不担心我的技术选型了
1.引言 对于即时通讯网来说,所有的技术文章和资料都在围绕即时通讯这个技术方向进行整理和分享,这一次也不例外.对于即时通讯系统(包括IM.消息推送系统等)来说,MQ消息中件间是非常常见的基础软件,但市 ...
- websphere mq_最佳实践:WebSphere MQ共享队列和应用程序
websphere mq 关于IBM®WebSphere®MQ共享队列的优点,尤其是它们提供消息的连续可用性的能力,已有很多论述. 但是,在规划和实施过程中,出现了一些有关最佳使用共享队列及其对应用程 ...
- MQ消息队列中间件:
MQ消息队列中间件: 微服务间通讯有同步和异步两种方式: 同步通讯:就像打电话,需要实时响应. 异步通讯:就像发信息,不需要马上回复. 同步调用的优点: 时效性较强,可以立即得到结果 同步调用的问题: ...
- C# Queue与RabbitMQ的爱恨情仇(文末附源码):Q与MQ消息队列简单应用(一)
首先我们简单了解一下什么堆.栈.队列. 堆是在程序运行时,而不是在程序编译时,申请某个大小的内存空间.即动态分配内存,对其访问和对一般内存的访问没有区别. 栈就是一个容器,后放进去的先拿出来,它下面本 ...
- C# Queue与RabbitMQ的爱恨情仇(文末附源码):Q与MQ消息队列简单应用(一) 时间 2019-06-03 14:09:00 博客园
首先我们简单了解一下什么堆.栈.队列. 堆是在程序运行时,而不是在程序编译时,申请某个大小的内存空间.即动态分配内存,对其访问和对一般内存的访问没有区别. 栈就是一个容器,后放进去的先拿出来,它下面本 ...
- java使用mq教程,Java语言快速实现简单MQ消息队列服务
使用 JAVA 语言自己动手来写一个MQ (类似ActiveMQ,RabbitMQ) 主要角色 首先我们必须需要搞明白 MQ (消息队列) 中的三个基本角色 Producer Broker Consu ...
- IBM Websphere mq消息队列的理解
这篇文章用于加深对MQ发送接收信息的理解,有错误之处请评论区予以指点,多谢 *MQ配置 一.双方定义 首先MQ是用来通信的,所以会有收发消息的双方,我们假设,发送消息的A,与接收消息的B 二.A方配置 ...
最新文章
- C++ 模板偏特化-来自STL的思考
- Windows phone 8 学习笔记
- lisp 绘制立体感的五角星_几何作图的方法、例子、解答及札记
- 视图加载时自动执行铵钮事件
- 深入剖析Redis主从复制
- Android 11 存储权限适配指南
- 《壁纸 - 大全精选手机壁纸》EULA条款协议
- SAP项目上的疑难杂症-(制品区分)如何处理?
- react-native 报错 Text strings must be rendered within a <Text> component.
- 史上最短命!由于BUG微软撤回Win10更新
- 爱剪辑 服务器维护,爱剪辑联网检测失败怎么办-修复爱剪辑联网检测失败的方法 - 河东软件园...
- 赛前采访里皮表示:希望队员用真心踢球。
- linux基础知识ppt下载,《Linux基础知识》PPT课件.ppt
- 计算机操作系统-文件管理
- 博客营销?软文营销?怎么按照流程走?
- soul从入门到进阶04——压测soul网关
- 眉骨高者为大贵之相_眉骨高者为大贵之相 能成大器
- Symantec SEP11.0客户端部署!
- python flask上传文件_flask 文件上传(单文件上传、多文件上传)--
- wireshark抓包红色_wireshark怎么抓包、wireshark抓包详细图文教程
热门文章
- com 的 IUnknown 接口的了解
- mysql中set names_深入理解mysql SET NAMES和mysql(i)_set_charset的区别
- jfreechart折线图y轴刻度值_Python matplotlib绘制折线图
- 用python设计简易计算器代码_Python简易计算器制作方法代码详解
- 异步更新php数据库,ajax异步刷新实现更新数据库_jquery
- 自定义 线性布局_智能组件探索:这个工具栏会自动布局~
- QueueUserWorkItem函数
- 玩转Citrix XenApp中的IE发布 (上)
- 关于background与background-image用法
- 最近win7更新后出现第二次打开IDE(delphi2007)的时候提示无法打开EditorLineEnds.ttr这个文件...