ActiveMQ(三)——理解和掌握JMS(1)
一、JMS基本概念
- JMS是什么
JMS Java Message Service,Java消息服务,是JavaEE中的一个技术。 - JMS规范
JMS定义了Java中访问消息中间件的接囗,并没有给予实现,实现JMS接囗的消息中间件称为JMS Provider,例如ActiveMQ
JMS provider:实现JMS接囗和规范的消息中间件
JMS message:JMS的消息,JMS消息由以下三部分组成:
1:消息头:每个消息头字段都有相应的getter和setter方法
2: 消息属性:如果需要除消息头字段以外的值,那么可以使用消息属性
3:消息体:分装具体的消息数据 - JMS producer:消息生产者,创建和发送JMS消息的客户端应用
- JMS consumer:消息消费者,接收和处理JMS消息的客户端应用
消息的消费可以采用以下两种方法之一
1:同步消费:通过调用消费者的receive方法从目的地中显式提取消息,receive方法可以一直阻塞到消息到达。
2:异步消费:客户可以为消费者注册一个消息监听器,以定义在消息达到时所采取的动作 - JMS domains.消息传递域,JMS规范中定义了两种消息传递域:点对点(point-to-point,简写成PTP)消息传递域和发布/订阅消息传递域(publish/subscrmbe,简写成pub/sub)
ActiveMQ(三)——理解和掌握JMS(1)的更多相关文章
- ActiveMQ(为什么要使用消息中间件,JMS传输模型)
为什么要使用消息中间件: 同步请求:当客户端向服务器发送一条请求的时候,此时服务器由于网络,或者处理一些比较大的数据的时候,可能有延迟,客户端 会处于一直等待的状态.只有等待服务器返回处理结果, ...
- ActiveMQ系列之三:理解和掌握JMS
JMS是什么 JMS Java Message Service,Java消息服务,是Java EE中的一个技术. JMS规范 JMS定义了Java 中访问消息中间件的接口,并没有给予实现,实现JMS ...
- ActiveMQ (三) Spring整合JMS入门
Spring整合JMS入门 前提:安装好了ActiveMQ ActiveMQ安装 Demo结构: 生产者项目springjms_producer: pom.xml <?xml versio ...
- ActiveMQ安装与入门程序 & JMS的消息结构
1.Activemq安装 直接到官网下载:记住apache的官网是域名反过来,比如我们找activemq就是activemq.apache.org. 最新版本要求最低的JDK是8,所以最好在电脑装多个 ...
- ActiveMQ第二弹:使用Spring JMS与ActiveMQ通讯
本文章的完整代码可从我的github中下载:https://github.com/huangbowen521/SpringJMSSample.git 上一篇文章中介绍了如何安装和运行ActiveMQ. ...
- 学习ActiveMQ(三):发布/订阅模式(topic)演示
1.在这个项目中新增两个java类,主题生产者和主题消费者: 2.和点对点的代码差别并不大,所以将消费者和生产者的分别代码拷入新增的java类中,再修改就好了. appProducerTopic代码: ...
- ActiveMQ (三)—持久化消息
ActiveMQ的另一个问题就是只要是软件就有可能挂掉,挂掉不可怕,怕的是挂掉之后把信息给丢了,所以本节分析一下几种持久化方式: 一.持久化为文件 ActiveMQ默认就支持这种方式,只要在发消息时设 ...
- ActiveMQ (三):项目实践
1. 简单项目demo Com.hoo.mq路径下(除了com.hoo.mq.spring)是普通java中使用activeMQ. Com.hoo.mq.spring路径下是非web环境spring集 ...
- springboot整合activemq(三)配置文件
application.properties文件配置: #服务端口,8080被另一服务占用server.port=9090spring.activemq.broker-url=tcp://127.0. ...
随机推荐
- 2019年java大型项目技术选型
学习一下 1,公司使用的架构是:SpringCloud + K8S 这一套主流技术,但是还是入门级别的. 还包含apollo ,xxlJob ,SkyWalking,Cat,GrayLog等 2,G ...
- 将 ASP.Net Core WebApi 应用打包至 Docker 镜像
将 ASP.Net Core WebApi 应用打包至 Docker 镜像 运行环境为 Windows 10 专业版 21H1, Docker Desktop 3.6.0(67351),Docker ...
- (五)MySQL函数
5.1 常用函数 5.2 聚合函数(常用) 函数名称 描述 COUNT() 计数 SUM() 求和 AVG() 平均值 MAX() 最大值 MIN() 最小值 .... .... 想查询一 ...
- 菜鸡的Java笔记 Eclipse 的使用
Eclipse 的使用 1. Eclipse 简介 2. Eclipse 中的JDT 的使用 3. Eclipse 中的使用 junit 测试 Eclipse (中文翻 ...
- 如何将rabbitmq集群中的某个节点移除.
首先将要移除的节点停机. root@rabbitmq-03:~# rabbitmqctl stop Stopping and halting node 'rabbit@rabbitmq-03' ... ...
- R数据分析:生存分析与有竞争事件的生存分析的做法和解释
今天被粉丝发的文章给难住了,又偷偷去学习了一下竞争风险模型,想起之前写的关于竞争风险模型的做法,真的都是皮毛哟,大家见笑了.想着就顺便把所有的生存分析的知识和R语言的做法和论文报告方法都给大家梳理一遍 ...
- dart系列之:在dart中使用数字和字符串
目录 简介 数字 字符串 StringBuffer 总结 简介 要想熟悉一种语言,最简单的做法就是熟悉dart提供的各种核心库.dart为我们提供了包括dart:core,dart:async,dar ...
- 交叉编译环境的linaro-gdb可以用了,结果打开core文件,显示堆栈都是??
交叉编译环境的linaro-gdb可以用了,结果打开core文件,显示堆栈都是?? aarch64-linux-gun-gdb ./test core warning: /lib/libpthread ...
- myeclipse字体大小格式的设置
- ServerBootstrap的handler()和childHandler()区别
无论服务端还是客户端都进行了handler的设置,通过添加hanlder,我们可以监听Channel的各种动作以及状态的改变,包括连接,绑定,接收消息等. 区别: 1. handler在初始化时就会执 ...