JMS与ActiveMQ的基本概念

2024-05-09 23:49
文章标签 基本概念 activemq jms

本文主要是介绍JMS与ActiveMQ的基本概念,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

一、JMS的了解
JMS是java的消息服务,JMS的客户端之间可以通过JMS服务进行异步的消息传输。
1. JMS的消息模型
1)点对点(P2P) 模型
2)发布/订阅模型
2 .消息发送接收模型图
这里写图片描述
3.两种模型的区别与特点
点对点模型(Queue):
1)每个消息只有一个消费者,
如果一条消息被消息者接收,消息就不存在于消息队列queue中了,那么其他的消费者接收不到这条消息。
2)发送和接受消息在时间上没有依赖性
也就是说,生产者在发送消息后,消费者可以在任意的时刻接收,只要该消息没有被其他消费者接受或者超时了。消费者也可以先运行,一但生产者将消息发送到队列中,消费者即可从队列中接受消息。
3) 消费者在消息接收之后需要像队列应答确认消息接收成功
接收消息后消费者必须发送应答成功信号(Acknowledges),表示消息已被接收,否则JMS服务器会认为该消息没有被成功接收,那么这条消息还可以被其他消费者接收,直到这个消息被消费掉。
Queue模式
发布订阅模型(Topic)
发布/订阅传递消息类型与主题(Topic)有关。生产者发布消息,而消费者订阅感兴趣的消息,生产者将消息和一个特定的主题(Topic)连在一起.
1 ) 每个消息都可以有多个订阅者
也是就是说每个消息有多个消费者,只要订阅了这个主题(Topic),就可以获得这个消息。
2) 发布者和订阅者之间有时间上的依赖性。
针对某个主题(Topic)的订阅者,它必须创建一个订阅者之后,才能消费发布者的消息,而且为了消费消息,订阅者必须保持运行的状态(也就是说在必须先启动消费者那方)。
Topic模式

二、ActiveMQ
ActiveMQ是实现了JMS的开源软件,ActiveMQ是一个易于使用的消息中间件。
安装与使用
1.下载
下载ActiveMQ,下载地址:http://pan.baidu.com/s/1nvltEyP,解压好的文件目录如下
这里写图片描述
- bin存放的是脚本文件
- conf存放的是基本配置文件
- data存放的是日志文件
- docs存放的是说明文档
- examples存放的是简单的实例
- lib存放的是activemq所需jar包
- webapps用于存放项目的目录

2.启动服务
双击/bin/win64目录下(我的电脑系统是64位的,所以是这个目录,如果是32位系统的目录是/bin/win32)的activemq.bat,启动activemq服务。
这里写图片描述
3.监控
http://127.0.0.1:8161/admin/
,启动服务后,可以通过这个地址查看activemq活动的状态。用户名和密码都是admin。

这里写图片描述
可以看到队列“FirstQueue1”中此时有十条消息未被消费。

AciveMQ的好处
看下图应用程序A将Message发送到服务器上,然后应用程序B从服务器中接收A发来的消息。
这里写图片描述
1)如果网络连接不可用,ActiveMQ会存储消息,直到连接变得可用时,再将消息发送给应用程序B。
2)当应用程序A发送其消息时,应用程序B甚至可以不处于执行状态。直到应用程序B开始执行消费为止,消息会保留。防止了应用程序A因为等待应用程序B消费消息而出现阻塞。

这篇关于JMS与ActiveMQ的基本概念的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/974837

相关文章

每天认识几个maven依赖(ActiveMQ+activemq-jaxb+activesoap+activespace+adarwin)

八、ActiveMQ 1、是什么? ActiveMQ 是一个开源的消息中间件(Message Broker),由 Apache 软件基金会开发和维护。它实现了 Java 消息服务(Java Message Service, JMS)规范,并支持多种消息传递协议,包括 AMQP、MQTT 和 OpenWire 等。 2、有什么用? 可靠性:ActiveMQ 提供了消息持久性和事务支持,确保消

【机器学习】高斯过程的基本概念和应用领域以及在python中的实例

引言 高斯过程(Gaussian Process,简称GP)是一种概率模型,用于描述一组随机变量的联合概率分布,其中任何一个有限维度的子集都具有高斯分布 文章目录 引言一、高斯过程1.1 基本定义1.1.1 随机过程1.1.2 高斯分布 1.2 高斯过程的特性1.2.1 联合高斯性1.2.2 均值函数1.2.3 协方差函数(或核函数) 1.3 核函数1.4 高斯过程回归(Gauss

【机器学习】高斯网络的基本概念和应用领域

引言 高斯网络(Gaussian Network)通常指的是一个概率图模型,其中所有的随机变量(或节点)都遵循高斯分布 文章目录 引言一、高斯网络(Gaussian Network)1.1 高斯过程(Gaussian Process)1.2 高斯混合模型(Gaussian Mixture Model)1.3 应用1.4 总结 二、高斯网络的应用2.1 机器学习2.2 统计学2.3

ActiveMQ—消息特性(延迟和定时消息投递)

ActiveMQ消息特性:延迟和定时消息投递(Delay and Schedule Message Delivery) 转自:http://blog.csdn.net/kimmking/article/details/8443872 有时候我们不希望消息马上被broker投递出去,而是想要消息60秒以后发给消费者,或者我们想让消息没隔一定时间投递一次,一共投递指定的次数。。。 类似

ActiveMQ—安装配置及使用

安装配置及使用 转自:http://blog.csdn.net/qq_21033663/article/details/52461543 (一)ActiveMQ介绍 ActiveMQ 是Apache出品,最流行的,能力强劲的开源消息总线。ActiveMQ 是一个完全支持JMS1.1和J2EE 1.4规范的 JMS Provider实现,尽管JMS规范出台已经是很久的事情了

ActiveMQ—Queue与Topic区别

Queue与Topic区别 转自:http://blog.csdn.net/qq_21033663/article/details/52458305 队列(Queue)和主题(Topic)是JMS支持的两种消息传递模型:         1、点对点(point-to-point,简称PTP)Queue消息传递模型:         通过该消息传递模型,一个应用程序(即消息生产者)可以

【Rocketmq入门-基本概念】

Rocketmq入门-基本概念 名词解释名称服务器(NameServer)消息队列(Message Queue)主题(Topic)标签(Tag)生产者(Producer)消费者(Consumer)拉取模式(Pull)推送模式(Push)消息模型(Message Model) 关键组件Broker消息存储工作流程 名词解释 名称服务器(NameServer) 定义: 名称服务器

jms与ActiveMQ实践与应用

前言 这是我自己从不知道JMS为何物到学习如何使用第三方工具实现跨服务器的知识总结,在整个过程中可能考虑不全。另外,如果想尽快使用JMS,建议直接看实例那一节就可以了。有问题多交流。 词语解释 (有些词可能用的不是很正确,在这里我把自己能意识到的词拿出来解释一下): 1、  跨服务器:专业术语好像叫“跨实例”。意思是,可以在多个服务器(可以是不同的服务器,如resin与tomcat)之间相

数据结构的基本概念和术语的一些介绍

数据:是客观事物的符号表示,包括两种:                  数值型(整数,实数)和非数值型(文字,图形,声音 数据元素:是数据的基本单位,通常作为一个整体进行表示。                  与数据的关系:是数据集合的个体 数据项:组成数据元素的不可分割的最小单位。 以上三者的关系:数据>数据元素>数据项                  例如:学生表>个人记录>

【DL--05】深度学习基本概念—函数式模型

函数式模型 函数式模型算是本文档比较原创的词汇了,所以这里要说一下 在Keras 0.x中,模型其实有两种,一种叫Sequential,称为序贯模型,也就是单输入单输出,一条路通到底,层与层之间只有相邻关系,跨层连接统统没有。这种模型编译速度快,操作上也比较简单。第二种模型称为Graph,即图模型,这个模型支持多输入多输出,层与层之间想怎么连怎么连,但是编译速度慢。可以看到,Sequentia