消息中间件之JMS规范
一、消息中间件(MQ)的定义
其实并没有标准定义。一般认为,消息中间件属于分布式系统中一个子系统,关注于数据的发送和接收,利用高效可靠的异步消息传递机制对分布式系统中的其余各个子系统进行集成。
二、JMS规范
1、JMS对象模型
连接工厂:连接工厂负责创建一个JMS连接。
JMS连接:JMS连接(Connection)表示JMS客户端和服务器端之间的一个活动的连接,是由客户端通过调用连接工厂的方法建立的。
JMS会话:JMS会话(Session)表示JMS客户与JMS服务器之间的会话状态。JMS会话建立在JMS连接上,表示客户与服务器之间的一个会话线程。
JMS目的/ Broker:客户用来指定它生产的消息的目标和它消费的消息的来源的对象,一个消息中间件的实例。
JMS生产者和消费者:生产者(Message Producer)和消费者(Message Consumer)对象由Session对象创建,用于发送和接收消息。
2、消息的消费方式
同步消费。通过调用 消费者的receive 方法从目的地中显式提取消息。receive 方法可以一直阻塞到消息到达。
异步消费。客户可以为消费者注册一个消息监听器,以定义在消息到达时所采取的动作。
3、JMS规范中的消息由以下几种方式组成
a、消息头。每个消息头字段都有相应的getter 和setter 方法。
b、消息属性。如果需要除消息头字段以外的值,那么可以使用消息属性。
c、消息体。JMS 定义的消息类型有TextMessage、MapMessage、BytesMessage、StreamMessage 和 ObjectMessage。ActiveMQ也有对应的实现
三、JMS包括以下几种要素
消息中间件之JMS规范相关推荐
- 消息中间件和JMS介绍
在一个公司创立初期,他可能只有几个应用,系统之间的关联也不是那么大,A系统调用B系统就直接调用B提供的API接口:后来这个公司做大了,他一步步发展有了几十个系统,这时候A系统要调用B系统的接口,但是B ...
- Java消息中间件--JMS规范
Java消息中间件–JMS规范
- JMS规范、ActiveMQ Broker和ActiveMQ传输协议
Java实现ActiveMQ通讯(构建过程) 编写pom.xml配置文件 <!-- https://mvnrepository.com/artifact/org.apache.activemq/ ...
- 基于JMS规范的ActiveMQ
为什么80%的码农都做不了架构师?>>> 基于JMS规范的ActiveMQ JMS即Java消息服务(Java Message Service)应用程序接口,是一个Java平台 ...
- MQ学习(一)----JMS规范(转发整合)
最近进行ActiveMQ的学习,总结下已被不时之需. JMS规范: JMS即Java消息服务(Java Message Service)应用程序接口是一个Java平台中关于面向消息中间件(MOM)的A ...
- jms规范以及activeMq相关介绍
jms 提出的指在统一各种MOM(Message-Oriented Middleware )系统接口的规范,只是接口,不包含实现,实现JMS 接口的消息中间件称为JMS Provider.active ...
- JMS规范和AMQP协议
1.JMS经典模式详解 JMS即Java消息服务(Java Message Service)应用程序接口,是一个Java平台中关于面向消息中间件(MOM,Message oriented Middle ...
- MQ消息队列的JMS规范和AMQP协议的区别
详细介绍了JMS规范和AMQP协议的内容与区别. 文章目录 1 JMS 1.1 JMS消息模型 2 AMQP 2.1 AMQP消息模型 3 对比 1 JMS JMS(JAVA Message Serv ...
- MOM 系统介绍,带你了解 JMS 规范
什么是MOM MOM(Message Oriented Middleware)是面向消息的中间件,使用消息传送提供者来协调消息传送操作.MOM 需要提供 API 和管理工具.客户端使用 API 调用, ...
最新文章
- 用sed 给文本文件加行号
- HDU1162(Prim算法)
- 多巴胺如何驱使我们克服复杂情况、逆境、情绪, 让我们掌控周遭的环境的
- WebRequest 请求被中止: 请求已被取消。 错误解决方法
- DisplayMetrics
- Python读入CIFAR-10数据库
- Taro+react开发(16)--跳转拿参
- ES6_字符串模板以及其使用
- 作为一个程序员,hibernate和jdbc 有什么不一样的点,你知道吗
- 线程同步--信号量内核对象
- [轉]最流行的PHP MVC框架
- vector中针对自定义类型的排序
- Ubuntu中添加应用程序快速启动器的方法
- 【转】DD_belatedPNG,解决IE6不支持PNG绝佳方案
- Unity商店下载的资源路径
- 听课记录范文计算机基础,【教师听课记录范文】_听课记录范文三篇
- zabbix监控RDS
- CWE-120: Buffer Copy without Checking Size of Input(不检查输入数据大小就复制缓冲区)
- java接入支付宝支付api
- WPF 计算DataGrid每一列的合计数