JMS概述

article/2025/9/22 5:27:50

**

一、什么是JMS

**
JMS即Java消息服务(Java Message Service)应用程序接口,是一个Java平台中关于面向消息中间件(MOM)的API,用于在两个应用程序之间,或分布式系统中发送消息,进行异步通信。Java消息服务是一个与具体平台无关的API,绝大多数MOM提供商都对JMS提供支持。
在JAVA中,如果两个应用程序之间对各自都不了解,甚至这两个程序可能部署在不同的大洲上,那么它们之间如何发送消息呢?举个例子,一个应用程序A部署在印度,另一个应用程序部署在美国,然后每当A触发某件事后,B想从A获取一些更新信息。当然,也有可能不止一个B对A的更新信息感兴趣,可能会有N个类似B的应用程序想从A中获取更新的信息。在这种情况下,JAVA提供了最佳的解决方案-JMS,完美解决了上面讨论的问题。
JMS与RMI不同,发送消息的时候,接收者不需要在线。服务器发送了消息,然后就不管了;等到客户端上线的时候,能保证接收到服务器发送的消息。这是一个很强大的解决方案,能处理当今世界很多普遍问题。

**

二、JMS的优势

**

异步:JMS天生就是异步的,客户端获取消息的时候,不需要主动发送请求,消息会自动发送给可用的客户端。

可靠:JMS保证消息只会递送一次。大家都遇到过重复创建消息问题,而JMS能帮你避免该问题,只是避免而不是杜绝,所以在一些糟糕的环境下还是有可能会出现重复。

**

三、应用场景

**
注册用户短信验证:
程序A注册用户,程序B发送手机验证码,首先为什么要分为两个程序进行操作,因为要考虑到性能问题。
场景一:不运用JMS,程序B需要不断的对数据库进行监听,当注册的状态改变时,程序B会执行,这样性能会非常的差。
在这里插入图片描述
场景二:运用JMS,当程序A收到用户的注册的操作时,会通知B进行短信的验证,这样程序B不用一直监听等待,处于一个被动的消息接收。
在这里插入图片描述

**

四、JMS数据交互的两种方式

**

点对点消息模型

(1)、每个消息只有一个接受者(自己测试了一下,可以有多个接受者,但是当有多个接收者时,每个接收者只能获取随机的几条信息)

(2)、消息发送者和消息接受者并没有时间依赖性。

(3)、当消息发送者发送消息的时候,无论接收者程序在不在运行,都能获取到消息;

(4)、当接收者收到消息的时候,会发送确认收到通知(acknowledgement)。

(5)、点对点消息模型图:
在这里插入图片描述

发布/订阅消息模型

(1)、一个消息可以传递给多个订阅者

(2)、发布者和订阅者有时间依赖性,只有当客户端创建订阅后才能接受消息,且订阅者需一直保持活动状态以接收消息。

(3)、为了缓和这样严格的时间相关性,JMS允许订阅者创建一个可持久化的订阅。这样,即使订阅者没有被激活(运行),它也能接收到发布者的消息。

(4)、发布/订阅消息模型图:
在这里插入图片描述


http://chatgpt.dhexx.cn/article/IAvKFP09.shtml

相关文章

深入浅出JMS(一)——JMS简介

如果手机只能进行实时通话,没有留言和短信功能会怎么样?一个电话打过来,正好没有来得及接上,那么这个电话要传递的信息肯定就收不到了。为什么不能先将信息存下来,当用户需要查看信息的时候再去获得信息呢?伴随着这个疑惑,短息和留言应运而生,无论手机是否开机、是否未…

详解 ROI Align 的基本原理和实现细节

转载至http://blog.leanote.com/post/afanti.denggmail.com/b5f4f526490b 欢迎支持原作者。 ROI Align 是在Mask-RCNN这篇论文里提出的一种区域特征聚集方式, 很好地解决了ROI Pooling操作中两次量化造成的区域不匹配(mis-alignment)的问题。实验显示,在检测测任务…

眼睛ROI区域裁剪

为了用深度方法训练一个睁闭眼模型,这里不需要再提取特征,而是需要用到眼睛的原图,第一步就是把眼睛区域裁剪下来。 本文用的是opencv的检测库shape_predictor_68_face_landmarks.dat,得到68特征点后,根据特征点来裁剪…

目标检测Fast RCNN中的ROI pooling

目标检测的任务可以分为两步:选出所有可能存在物体的候选框、判断候选框中的物体是否为前景或者背景。 但是这可能会产生很多的候选区域,如果把它们都喂入CNN,计算量将特别大,这也是rcnn效率低的原因所在。rcnn对每个候选区域都进…

ROI Pooling原理及实现

目标检测architecture通常可以分为两个阶段: (1)region proposal:给定一张输入image找出objects可能存在的所有位置。这一阶段的输出应该是一系列object可能位置的bounding box。这些通常称之为region proposals或者 regions of …

ROI数据分析

目录 1. 专业术语解读 2. 参考资料 1. 专业术语解读 ROI(Return On Investment)投入产出比ROI 是指通过投资而应返回的价值,即企业从一项投资活动中得到的经济回报,通俗点来说就是我们获得的收益和投入成本的比值。 如下图所示,比较多个渠道的效果,寻找最大的ROI渠道。…

ROIAlign源码详细解析

ROI Align 是在Mask-RCNN这篇论文里提出的一种区域特征聚集方式, 很好地解决了ROI Pooling操作中两次量化造成的区域不匹配(mis-alignment)的问题。 其中ROI Align用的是双线性插值(内插)来实现的,在分析源码前我们先来了解下什么是双线性插值。 插值定义&#xf…

Opencv----ROI设置

1 ROI概念 ROI是region of interest首字母的简写,翻译为感性趣的区域,其对象时图像。 对于图像,其实就是一个二维数组,只不过这个二维数组有点特殊,它有头信息,在头信息里会有描述这个二维数组的大小、图片…

HALCON_C#_交互ROI

GDI知识讲解 GDI英文全称:Graphics Device Interface Plus, GDI是对GDI的扩展。 一. GDI概述 二.Graphics类介绍 Graphics 类封装了很多GDI绘图对象,并将这些对象显示到设备上。创建Graphics对象也被称为创建一个画板,创建画板一共…

OpenCV之图像ROI与ROI操作

python代码: import cv2 as cv import numpy as npsrc cv.imread("./test.png") cv.namedWindow("input", cv.WINDOW_AUTOSIZE) cv.imshow("input", src) h, w src.shape[:2]# 获取ROI cy h//2 cx w//2 roi src[cy-100:cy100,c…

ROI Pooling和ROI Align、ROI Warp解析

文中很多内容来源于其他博客,较为详细,有需要可直接按目录跳选到自己需要的部分。 目录 简单介绍 实验比较 ROI理解 ROI Pooling ROI Pooling理解 ROI Pooling example ROI Pooling局限性 ROI Align理解 双线性插值法 ROI Align的反向传播 R…

RoI Pooling 和 RoI Align

RoI Pooling 和 RoI Align 一、背景和基本概念1.背景2.基本概念 二、RoI Pooling原理1.目的2.步骤(以输出RoI feature大小为225为例)Step1Step2Step3Step4 三、RoI Align原理1.目的2.步骤(以输出RoI feature大小为225为例)step1St…

ROI Pooling解析

ROI Pooling最早由Ross Girshick在2015年的论文fast rcnn中提出,是对ROI(Region of Interest)的Pooling操作,广泛应用于物体检测的研究领域。该操作旨在对输入特征图中不同大小的ROI利用池化方法获得固定大小的输出特征图。 ROI Pooling层的输入&#x…

ROI

栗子&#xff1a; #include<cv.h> #include<highgui.h> using namespace cv; //方法1&#xff0c;假如区域为长方形&#xff0c;使用MAT 构造函数设置区域内的值为255 int main() {Mat imageimread("boldt.jpg");//初始化掩模矩阵Mat mask Mat::zeros(…

OpenCV--0016:图像ROI与ROI操作

文章目录 一、图像ROI1. 概念2. 图像ROI操作2.1 矩形感兴趣区域2.1.1 使用Rect函数2.1.2 使用Range2.1.3 应用实例 2.2 不规则ROI区域2.2.1 通过inRange函数生成mask2.2.2 通过“与”操作提取ROI 一、图像ROI 1. 概念 图像ROI&#xff08;region of interest&#xff09;是指…

ROI pooling 和 ROI Align详解

ROI Align 是在Mask-RCNN这篇论文里提出的一种区域特征聚集方式, 很好地解决了ROI Pooling操作中两次量化造成的区域不匹配(mis-alignment)的问题。实验显示&#xff0c;在检测测任务中将 ROI Pooling 替换为 ROI Align 可以提升检测模型的准确性。 ROI Pooling 的局限性分析 …

【深度学习】ROI Pooling 和 ROI Align 计算机视觉 目标检测

文章目录 ROI Pooling和ROI Align&#xff1a;一篇好的文章ROI Pooling 如何计算&#xff1f;AdaptiveMaxPool2d 在做啥Fast RCNN或者Faster RCNN中都使用了ROI PoolingROI Align ROI Pooling和ROI Align&#xff1a; &#xff08;1&#xff09;ROI Pooling 是为了让特征图输出…

ROI Pooling

RCNN ref 1 步骤: 1.使用Selective Search方法生成候选区域 2.对每一个候选区域使用CNN进行特征提取 3.对提取到的特征送入到每一类的SVM分类器 判断该区域是否属于该类特征 4.使用回归器精修候选框的位置 候选框搜索阶段: 使用selective search方法生成候选框,由于CNN提取…

ROI 详解

SPPNet、roi pooling 和 average pooling之间的区别&#xff0c;都是起到对任意大小的输入产生固定的输出的作用。其中SPPNet、roi pooling是一样的。 下面对ROI Pooling 进行详解&#xff1a; ROI是Region of Interest的简写&#xff0c;指的是在“特征图上的框”&#xff1…

【深度学习小知识】ROI到ROI pooling 再到ROI Align

ROI&#xff01;RoI Pooling&#xff01; ROI详解RoI Pooling详解Pooling操作ROI pooling ROI Align详解 ROI详解 Region of interest(ROI),中文译为感兴趣区域。在计算机视觉领域&#xff0c;从输入的图像中框选处理待处理的区域就是ROI。 ROI / Region proposals大致过程&am…