一、消息中间件(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规范相关推荐

  1. 消息中间件和JMS介绍

    在一个公司创立初期,他可能只有几个应用,系统之间的关联也不是那么大,A系统调用B系统就直接调用B提供的API接口:后来这个公司做大了,他一步步发展有了几十个系统,这时候A系统要调用B系统的接口,但是B ...

  2. Java消息中间件--JMS规范

    Java消息中间件–JMS规范

  3. JMS规范、ActiveMQ Broker和ActiveMQ传输协议

    Java实现ActiveMQ通讯(构建过程) 编写pom.xml配置文件 <!-- https://mvnrepository.com/artifact/org.apache.activemq/ ...

  4. 基于JMS规范的ActiveMQ

    为什么80%的码农都做不了架构师?>>>    基于JMS规范的ActiveMQ JMS即Java消息服务(Java Message Service)应用程序接口,是一个Java平台 ...

  5. MQ学习(一)----JMS规范(转发整合)

    最近进行ActiveMQ的学习,总结下已被不时之需. JMS规范: JMS即Java消息服务(Java Message Service)应用程序接口是一个Java平台中关于面向消息中间件(MOM)的A ...

  6. jms规范以及activeMq相关介绍

    jms 提出的指在统一各种MOM(Message-Oriented Middleware )系统接口的规范,只是接口,不包含实现,实现JMS 接口的消息中间件称为JMS Provider.active ...

  7. JMS规范和AMQP协议

    1.JMS经典模式详解 JMS即Java消息服务(Java Message Service)应用程序接口,是一个Java平台中关于面向消息中间件(MOM,Message oriented Middle ...

  8. MQ消息队列的JMS规范和AMQP协议的区别

    详细介绍了JMS规范和AMQP协议的内容与区别. 文章目录 1 JMS 1.1 JMS消息模型 2 AMQP 2.1 AMQP消息模型 3 对比 1 JMS JMS(JAVA Message Serv ...

  9. MOM 系统介绍,带你了解 JMS 规范

    什么是MOM MOM(Message Oriented Middleware)是面向消息的中间件,使用消息传送提供者来协调消息传送操作.MOM 需要提供 API 和管理工具.客户端使用 API 调用, ...

最新文章

  1. Java集合及concurrent并发包总结(转)
  2. rediscluster全局数据_redis迁移,从redis cluster集群迁移数据到另外一个redis cluster集群...
  3. Vue3 VSCode新建项目报错The template root requires exactly one element.
  4. 获取泛型T的ClassT clazz
  5. JavaScript FormData对象,FileReader对象,files属性
  6. 解决Linux QQ闪退和扫码无法登陆的方法
  7. 模糊c–均值聚类算法的原理解释及推导
  8. 报表工具选型对比系列 - 多源关联性能
  9. 开发一个在线Excel系统?SpreadJS让开发如此简单
  10. alk In Web Security(安全世界观): Devleping a Secure Wesite
  11. python for循环求1到100的和_python如何计算1到100的和(用for循环)
  12. 3万行代码硬撸一个一键发布文章工具,简直不要太好用,从此写文章,发文章,太简单了好伐
  13. Excel表格自动化办公(持续更新)
  14. (油猴脚本网盘下载加速)
  15. 制作表白墙,给TA一个惊喜吧
  16. 深入理解Java虚拟机读书笔记七
  17. html5在线客服源码 websocket c# socket 实现,可扩展 im 即时通讯 完整的源代码,在线聊天
  18. SpaceX“超级高铁”设计原型曝光,时速可高达每小时760英里
  19. 3D游戏建模这个行业真的有这么糟糕吗?前景怎么样?入行薪资?35岁以后怎么办?
  20. ONES CTO 冯斌 | 敏捷思想是不确定时代的通行证

热门文章

  1. 双十二哪款高性价比蓝牙耳机值得买?高性价比国产蓝牙耳机推荐
  2. gitlab默认使用mysql_GitLab使用非PostgreSQL数据库服务器
  3. 树形视图和列表视图中的HitTest
  4. python -v 出错 import _frozen_importlib # frozen
  5. 关于jupyter notebook无法显示图片的问题:图片不显示只显示Figure size 640x480 with 1 Axes
  6. unity 使用rigidbody.addforce()跳跃的正确方法
  7. 数字孪生技术应用在物流领域中的案例解析
  8. 阿里云https证书tomcat配置
  9. angular js 大小写转换
  10. 不是管理员计划任务不执行_为执行任务而不是老板