ActiveMQ--JMS、消息的组成

ActiveMQ入门 (三) JMS消息组成 ActiveMQ入门 (三) JMS消息组成 文章目录ActiveMQ入门 (三) JMS消息组成一、JMS协议组成结构二、JMS Message消息组成1.JMS消息头2.JMS消息体1. TextMessage 字符串对象2. MapMessage 一套值对3. ObjectMessage 一个序列化的Java对象X4. BytesMessage 一个字节的数据流5.. StreamMessage Java原始值的数据流 一、JMS协议组成结构 二、JMS Message消息组成 1.JMS消息头 生 阅读详情

Java EE

JavaEE是一套使用Java进行企业级应用开发的、大家一致遵守的13个核心规范工业标准。JavaEE平台提供了一个基于组件的方法来加快设计、开发、装配及部署企业级应用程序。

  1. JDBC(Java Database)数据库连接
  2. JNDI(Java Naming and Directory)Java的命名和目录接口
  3. EJB(Enterprise JavaBean)
  4. RMI(Remote Method Invoke)远程方法调用
  5. Java IDL(Interface Description Language)/ CORA(Common Object Broker Architecture)接口定义语言/公用对象请求代理程序体系结构
  6. JSP(Java Server Page)
  7. Servlet
  8. XML(Extensible Markup Language)可扩展标记语言
  9. JMS(Java Message Service)Java消息服务
  10. JTA(Java Transaction API)Java 事务 API
  11. JTS(Java Transaction Service)Java事务服务
  12. JavaMail
  13. JAF(JavaBean Activation Framework)

JMS

Java消息服务指的是两个应用程序之间进行异步通信的API,它为标准消息协议和消息服务提供了一组通用接口,包括创建、发送、读取消息等,用于JAVA应用程序开发。在JAVA EE中,当两个应用程序使用JMS进行通信时,他们之间并不是直接相连的,而是通过一个公共的消息收发服务组件关联起来以达到解耦/异步削峰的效果。

在这里插入图片描述

  • JMS provider:实现JMS接口和规范的消息中间件,也就是我们的MQ服务器。
  • JMS producer:消息生产者,创建和发送JMS消息的客户端应用。
  • JMS consumer:消息消费者,接收和处理JMS消息的客户端应用。
  • JMS message:JMS消息

消息的组成

  • 消息头
字段描述
JMSDestination消息发送的目的地:主要是指Queue和Topic,自动分配
JMSDeliveryMode传送模式。有两种 :持久模式和非持久模式。一条持久性的消息应该被传送“一次仅仅一次”,这就意味者如果JMS提供者出现故障,该消息并不会丢失,它会在服务器恢复之后再次传递。一条非持久的消息最多会传送一次,这意味这服务器出现故障,该消息将永远丢失。自动分配
JMSExpiration消息过期时间,等于 Destination 的send 方法中的timeToLive值加上发送时刻的GMT 时间值。如果timeToLive 值等于零,则JMSExpiration 被设为零,表示该消息永不过期。如果发送后,在消息过期时间之后消息还没有被发送到目的地,则该消息被清除。自动分配
JMSPriority消息优先级,从 0-9 十个级别,0-4 是普通消息,5-9 是加急消息。JMS 不要求JMS Provider 严格按照这十个优先级发送消息,但必须保证加急消息要先于普通消息到达。默认是4级。自动分配
JMSMessageID唯一识别每个消息的标识,由JMS Provider 产生。自动分配
JMSTimestamp一个JMS Provider在调用send()方法时自动设置的。它是消息被发送和消费者实际接收的时间差。自动分配
JMSCorrelationID用来连接到另外一个消息,典型的应用是在回复消息中连接到原消息。在大多数情况下,JMSCorrelationID用于将一条消息标记为对JMSMessageID标示的上一条消息的应答,不过,JMSCorrelationID可以是任何值,不仅仅是JMSMessageID。由开发者设置
JMSReplyTo提供本消息回复消息的目的地址。由开发者设置
JMSType消息类型的识别符。由开发者设置
JMSRedelivered如果一个客户端收到一个设置了JMSRedelivered属性的消息,则表示可能客户端曾经在早些时候收到过该消息,但并没有签收(acknowledged)。如果该消息被重新传送,JMSRedelivered=true反之,JMSRedelivered =false。自动设置
  • 消息体
类型描述
TextMessage普通字符串消息,包含一个String
MapMessage一个Map类型的消息,key为String类型,而值为String类型
BytesMessage二进制数组消息,包含一个byte[]
StreamMessageJava数据流消息,用标准流操作来顺序的填充或读取
ObjectMessage对象消息,包含一个可序列化的Java对象
  • 消息属性

消息属性,包含以下三种类型的属性:

  1. 应用程序设置和添加的属性,比如:
    Message.setStringProperty(“hello”, “my name is wangsaichao!”);
  2. JMS定义的属性
    使用“JMSX”作为属性名的前缀,
    connection.getMetaData().getJMSXPropertyNames(), 方法返回所有连接支持的JMSX 属性的名字。
  3. JMS供应商特定的属性
    JMS定义的属性如下:
    • JMSXUserID:发送消息的用户标识,发送时提供商设置
    • JMSXAppID:发送消息的应用标识,发送时提供商设置
    • JMSXDeliveryCount:转发消息重试次数,第一次是1,第二次是2,… ,发送时提供商设置
    • JMSXGroupID:消息所在消息组的标识,由客户端设置
    • JMSXGroupSeq:组内消息的序号第一个消息是1,第二个是2,…,由客户端设置
    • JMSXProducerTXID :产生消息的事务的事务标识,发送时提供商设置
    • JMSXConsumerTXID :消费消息的事务的事务标识,接收时提供商设置
    • JMSXRcvTimestamp :JMS 转发消息到消费者的时间,接收时提供商设置
    • JMSXState:假定存在一个消息仓库,它存储了每个消息的单独拷贝,且这些消息从原始消息被发送时开始。每个拷贝的状态有:1(等待),2(准备),3(到期)或4(保留)。由于状态与生产者和消费者无关,所以它不是由它们来提供。它只和在仓库中查找消息相关,因此JMS没有提供这种API。由提供商设置

各种消息中间件对比

在这里插入图片描述

如何用Deep OC-SORT提升多目标跟踪精度?实战配置与性能优化指南 本文是一份针对开发者的Deep OC-SORT多目标跟踪实战指南。详细解析了如何通过部署其核心的“动态外观记忆”与“相机防抖”模块来有效应对遮挡与抖动,从而显著提升跟踪精度与连续性。内容涵盖从环境搭建、参数调优到性能压榨的全流程,并提供针对不同场景的配置建议与工程落地技巧。 阅读详情

相关推荐

微信公众号数据采集实战:历史文章、互动数据与评论详情全解析

本文提供了一套完整的微信公众号数据采集实战方案,详细解析了如何通过接口调用获取公众号的历史文章列表、单篇文章的互动数据以及详细的用户评论。文章从环境准备、核心参数解析到分页逻辑、批量处理和异常处理,提供了可运行的Python代码示例,旨在帮助开发者高效、稳定地构建自动化采集工具,用于竞品分析、内容研究和舆情监控。

u5v6w7的博客 1593

ActiveMQ基本详解与总结

MQ简介:   MQ全称为Message Queue, 消息队列(MQ)是一种应用程序对应用程序的通信方法。应用程序通过写和检索出入列队的针对应用程序的数据(消息)来通信,而无需专用连接来链接它们。消息传递指的是程序之间通过在消息中发送数据进行通信,而不是通过直接调用彼此来通信,直接调用通常是用于诸如远程过程调用的技术。排队指的是应用程序通过队列来通信。队列的使用除去了接收和发送应用程...

Survivalist_Boy的博客 858

IP2315高效同步降压充电IC在快充应用中的硬件与软件控制策略

本文深入解析IP2315高效同步降压充电IC在快充应用中的硬件与软件控制策略,涵盖其核心特性、硬件电阻调节技巧、I2C动态控制方案、散热设计优化及典型问题排查。IP2315支持多种快充协议,如Type-C PD、华为FCP等,适用于便携设备快速充电需求,并通过I2C实现灵活的充电参数设置,提升充电效率与安全性。

weixin_29248313的博客 538

ActiveMQ学习三(高级特性1:消息组成[消息头、消息体、消息属性])

JMS(Java Message service)的消息组成详解 JMS消息组成格式 我们之前也了解到ActiveMQ是基于JMS标准的一个产品 JMS的消息到底是怎么组成的,他的格式是什么,我们很必要去指定 整个JMS协议组成结构如下: JMS Message(消息)由三部分组成: 消息头 (Message Header) 消息体(Message Body) 消息属性(Message Pr...

无极 2020

稚晖君Dummy机械臂CAN总线控制详解:从代码到实战(附常见问题排查)

本文深入解析了稚晖君Dummy机械臂的CAN总线控制技术,从协议设计到代码实现,详细介绍了CAN总线在机械臂控制中的核心价值、通信协议栈设计、运动控制指令实现及常见问题排查方法。通过实战案例和代码示例,帮助开发者快速掌握机械臂CAN总线控制的关键技术。

uuu88的博客 293

MATPOWER的安装详细教程

MATPOWER的安装包实际为一个程序包,安装教程很简单,详见本文。

半个月亮Zz的博客 3万+

java Activemq 结构介绍

1.Connection 方法的使用 当一个Connection被创建时,它的传输默认是关闭的,必须使用start方法开启,一个Connection可以建立一个或多个Seesion。 当一个程序执行完成后,必须关闭之前创建的Session,meassageProducer和messageConsumer Connection connectionFactory.createConnectio

lm324114的专栏 717

AutoGLM-Phone 实现“豆包 AI 手机”的自动化操作手机的实战方案教程 让普通手机秒变ai手机

是一个基于视觉语言模型(VLM)的 AI 手机智能助理框架。❌ 不依赖固定坐标❌ 不需要提前录制脚本✅ 能“看懂”手机屏幕✅ 能理解自然语言指令✅ 能自动规划操作路径并执行让 AI 像人一样看屏幕、想步骤、点手机。从工程角度看,AutoGLM-Phone 已经具备“AI 手机助理”的完整雏形能看能理解能规划能执行能跨 App所谓的「豆包 AI 手机」,本质上就是这类能力的产品化封装。而现在,这套能力已经可以被普通开发者亲手跑起来、改起来、甚至接入自己的业务场景。

代码简单说 Vue、JAVA、PHP、Node.js 熟练运用,接口、架构、性能全搞定。 589

MQ(ActiveMQ)原理及介绍

MQ原理介绍

偷得浮生半日闲 4万+

cartographer如何使用2个反光柱子作为一个landmark

2个反光柱的摆放要求:靠着墙摆,因为我们只能从一侧看到2个反光柱,从两侧都看到至少需要3个反光柱来定位。 landmark检测原理:因为我们是从一侧看到2个反光柱,所以看到2个反光柱在一帧激光数据中会有顺序,有2种情形,如下图 这两种情形,我们发现 情形1: 这种情形2个反光柱子被检测到的激光角度小于180,我们认为大一些激光角度的是原点。 情形2: 这种情形2个反光柱子被检测到的激光角度大于180,我们认为小一些激光角度的是原点。 这样原点就固定下来,并是唯一的。2个反光柱构成的坐标系也就确定了。和激光坐

南北粉面馆 3827

在ParaView中编程实现涡量可视化

综上所述,本文介绍了在ParaView中使用编程方式实现涡量可视化的方法,并提供了相应的Python代码示例。通过灵活运用ParaView的编程接口,我们可以根据特定需求定制复杂的数据可视化流程,进一步深入了解和分析流体的旋转行为。ParaView是一款强大的开源数据可视化工具,它提供了丰富的功能和灵活的编程接口,使用户能够定制数据可视化流程。你可以根据需要自定义颜色映射范围和颜色,上述代码中的RGBPoints列表中包含了两个点,分别对应涡量值为0和10时的颜色。在实际使用过程中,你需要替换代码中的。

ByteProwl的博客 1434

ActiveMQ

ActiveMQ简介 1. 什么是ActiveMQ ActiveMQ是一种开源的,实现了JMS1.1规范的,面向消息(MOM)的中间件,为应用程序提供高效的、可扩展的、稳定的和安全的企业级消息通信。ActiveMQ使用Apache提供的授权,任何人都可以对其实现代码进行修改。 ActiveMQ的设计目标是提供标准的,面向消息的,能够跨越多语言和多系统的应用集成消息通信中间件。Active...

weixin_30898109的博客 303

假人有限元模型

假人模型,车辆碰撞假人有限元模型,适合做乘员安全的研究者利用

ActiveMQ学习笔记三----JMS消息组成

一、JMS消息组成格式 整个JMS协议组成结构如下: 结构 描述 JMS Provider 消息中间件/消息服务器 JMS Producer 消息生产者 JMS Consumer 消息消费者 JMS Message 消息 JMS Message消息由三部分组成: 消息头 消息体 消息属性 二、JMS 消息头 JMS消息头预定义了若干字段用于客户端与JMS提供者之间识别和发送小于,预编译头如下(红色为重要消息头): @RunWith(SpringJUnit4ClassRu

Vivienne_ChenW的博客 342

温度PID控制PLC程序

温度PID稳定控制程序,适用于欧姆龙PLC,对其他PLC也具有很大参考价值

复分析 阿尔福斯(Ahlfors) 第三版答案 英文

答案分为十章,有部分习题没有答案,全英文复分析阿尔福斯(Ahlfors) 第三版答案

消息中间件(2)—JMS和ActiveMQ

JMS和ActiveMQ JMS(Java Messaging Service)是Java平台上有关面向消息中间件的技术规范,实际上是一套api,它便于消息系统中的Java应用程序进行消息交换,并且通过提供标准的产生、发送、接收消息的接口简化企业应用的开发,ActiveMQ而是这个规范的一个具体实现 JMS对象模型 1)连接工厂。连接工厂负责创建一个JMS连接。 2)JMS连接。JMS连接(Connection)表示JMS客户端和服务器端之间的一个活动的连接,是由客户端通过调用连接工厂的方法建立的。 3)

qq_42642159的博客 449

VC中sqlite的使用

在VC中对sqlite的使用,实现数据库大批数据的快速插入,读取数据库中的数据在ListCtrl中显示

消息中间件--JMS--ActiveMQ--02

上接: 消息中间件–JMS–ActiveMQ–01 消息中间件–JMS–ActiveMQ–02 6、JMS规范 6.1、什么是JMS ​ JMS,全称Java Message Service,类似于JDBC、JNDI,是JavaEE体系中的一种,规定了两个应用程序之间进行异步通信的API,它为标准协议和消息服务提供了一组通用接口,包括创建、发送、读取消息等,用于支持Java应用程序开发。 ​ 在JavaEE中,当两个应用程序使用JMS进行通信时,它们之间不是直接相连的,而是通过一个共同的消息收发服务组件

m0_46159545的博客 298

ActiveMQ入门

ActiveMQ入门 一、ActiveMQ简介 Apache ActiveMQ是Apache软件基金会所研发的开放源代码消息中间件;由于ActiveMQ是一个纯Java程序,因此只需要操作系统支持Java虚拟机,ActiveMQ便可执行。 它能很好地支持J2EE提出的JMS(Java Message Service,即Java消息服务)规范。JMS是一组Java应用程序接口,它提供消息的创建、发送...

灵越启航 481

JMS介绍

JMS源于企业应用对于消息中间件的需求,使应用程序可以通过消息进行异步处理而互不影响。Sun公司和它的合作伙伴设计的JMS API定义了一组公共的应用程序接口和相应语法,使得Java程序能够和其他消息组件进行通信。JMS有四个组成部分:JMS服务提供者、消息管理对象、消息的生产者消费者和消息本身。  1)JMS服务提供者实现消息队列和通知,同时实现消息管理的API。JMS已经是J2EE API的

anbailong的博客 463

从JMS规范了解ActiveMQ

ActiveMQ 简介 ActiveMQ 是完全基于 JMS 规范实现的一个消息中间件产品。是 Apache 开源基金会研发的消息中间件。ActiveMQ主要应用在分布式系统架构中,帮助构建高可用、高性能、可伸缩的企业级面向消息服务的系统。 ActiveMQ 特性: 1、多语言和协议编写客户端,语言:java/C/C++/C#/Ruby/Perl/Python/PHP,应用协议:openwire/...

Embrace Change 146

Spring Integration系列《3》JMS ActiveMQ实列

源码地址 https://gitee.com/bseaworkspace/study_java_web/tree/master/springIntegrationJMS 代码使用方式 提供了三个测试用例,分别测试了 GatewayDemo uses the DemoBean service, which will echo the response and upper-casing it.结合SpringIntegration的channel-adapter 实现点对点的JMS通信实列 ChannelAd

心猿意码 1594

ActiveMQ学习笔记-01——JMS

ActiveMQ学习笔记-01——JMS 参考:【尚硅谷ActiveMQ教程(MQ消息中间件快速入门) 0. JMS 简介 JMS即Java消息服务(Java Message Service)应用程序接口,是一个Java平台中关于面向消息中间件(MOM)的API,用于在两个应用程序之间,或分布式系统中发送消息,进行异步通信。Java消息服务是一个与具体平台无关的API,绝大多数MOM提供商都对JMS提供支持。 Java消息服务指的是两个应用程序之间进行异步通信的API,它为标准信息协议和消息服务提供了

NaClO_SYX的博客 277

微服务 消息中间件ActiveMQ

微服务 消息中间件ActiveMQ1. ActiveMQ概念1.1 MQ概述1.2 JMS概念2. ActiveMQ下载安装2.1 ActiveMQ官网下载2.2 Linux环境安装2.3 Windows环境安装2.4 ActiveMQ控制台3. JMS消息组成3.1 jms消息组成3.2 jms消息头3.3 jms消息体3.4 jms消息属性4. ActiveMQ特性4.1 消息持久化4.2 消息事务4.3 确认机制4.4 消息投递方式4.5 死信队列5. ActiveMQ操作案例6. 原生jms操作Ac

靖节先生的博客 549

消息中间件(3)——MQ之ActiveMQ(3)——JMS

目录 1.什么是JMS 2.四种MQ的落地产品的对比 3.JMS的四大组成元素及特点 4.消息可靠性 4.1 持久性 4.2 事务 4.3 签收 4.4 多结点集群 5.点对点和发布订阅的总结 5.1 点对点总结 5.2 发布订阅总结 1.什么是JMS 在解释JMS之前,我们先来看什么是JavaaSE和JavaEE JavaSE是Java这门编程语言的基础语法部分 J...

波波鱼的博客 390

ActiveMQ 了解

Active MQ 是JMS的一个具体实现,所以首先要对JMS有所了解。 1.       JMS: 定义:Java消息服务(Java Message Service),是Sun是提出来的为J2EE提供企业消息处理的一套规范,他提供了创建,发送,接受,读取消息的服务。能接受消息生产者的(Message Producer)发出的消息,并把消息转发给消息消费者(Message Consumer)。

xue_feitian的专栏 1923

消息中间件ActiveMQ

系列文章目录 提示:这里可以添加系列文章的所有文章的目录,目录需要自己手动添加 例如:第一章 Python 机器学习入门之pandas的使用 提示:写完文章后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 系列文章目录 前言 一、ActiveMQ是什么 总结 前言 提示:这里可以添加本文要记录的大概内容: 例如:随着人工智能的不断发展,机器学习这门技术也越来越重要,很多人都开启了学习机器学习,本文就介绍了机器学习的基础内容。 提示:以下是本篇文章正文内容,下面..

多思考思考 225

消息队列核心JMS,让面试官对你刮目相看!

上回说到 小二上回把activeMQ以及落地实战代码给大家讲了一讲,上传的文件不知为何会自己涨金币(csdn不知道搞什么鬼????)需要的可以跟我说一句,我重新传一下就可以了。 还没有入门MQ的可以看看上回文章:mq入门 JMS 上回说到,咱们JavaEE是一套用Java进行企业级应用开发的遵循的13个核心规范工业标准。我们的JMS(Java message service)就是其中一个,指两个应用程序之间进行异步通信的api,为标准消息协议和消息服务提供了一组通用接口,包括创建,发送,读取等等。 很好

weixin_43934104的博客 230
上一篇: ActiveMQ--topic
下一篇: 数据结构--广义表
吴声子夜歌
博客等级 码龄9年 2687粉丝 2258原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值