activemq学习笔记

2023-09-14 11:23:05

传统的request/response

在客户端提交请求后必须等待服务端处理完毕给于反馈,这期间客户端完全处于空闲等待状态,甚至有可能超时;

·基于消息中间件的request/response

客户端提交请求,不必等待服务器处理,客户端可以继续进行其它操作,而服务端形成命令的消息列队,在空闲的时候进行处理,客户端可以异步接收来自服务端反馈信息;

·启动ActiveMQ

下载ActiveMQ5.0,(前提,配置好java_home/classpath等)在bin目录,activemq.bat(win)或activemq(linux)启动服务。也可以安装成系统服务。

ActiveMQ5.0的WEB监控默认为:http://localhost:8161/admin 在此可以监控所有消息情况。

并且ActiveMQ5.0在WEB上也提代了简单DEMO应用(基本没用)

·JMS客户端

JMS只有JMS服务器是服务器,消息的发送端和接收端都是JMS的客户端。

ActiveMQ服务实现了JMS1.1规范,支持两种消息传递模型:点对点(PTP)、发布-订阅(PUB/SUB)模型,支持持久消息。

发送消息和接收消息流程:

序号

发  送

接  收

  1

创建JMS连接 ConnectionFactory

创建JMS连接 ConnectionFactory

  2

创建会话 Session 定义是否事务和回传通知方式

创建会话 Session 定义是否事务和回传通知方式

  3

创建消息目的地和主题 Destination Subject定议Queue或Topic

创建消息目的地和主题 Destination Subject定议Queue或Topic

  4

创建消息提供者 Producer
确定消息目的地,是否持久模式

创建消息接收者 Consumer
确定消息目的地,进行监听onMessage

  5

创建消息体 Message

接收消息,进行ACKNOWLEDGE

  6

发送消息 Send

如有JMSReplyTo,转至消息发送流程

  7

接收消息

更多推荐

BD就业复习第二天

Hbase1.架构HBase(HadoopDatabase)是一个开源的分布式、面向列族(ColumnFamily)的NoSQL数据库,它是构建在Hadoop之上的。HBase的架构设计旨在处理大规模的数据,特别适用于需要快速读写和随机访问大量数据的应用场景,如日志处理、在线实时分析等。下面是HBase的详细架构解析:

POI的读取EXCEL的【总结】

POI的读取EXcel的总结最近的自己在做了一些关于EXcel的导入工作,正好总结一下我用到一些知识点我首先说用到的方法POI读取指定行列的方法语法:sheet.getRow(x):获取第x行sheet.getRow(x).getCell(y):获取第x行第y列eg:sheet.getRow(5).getCell(2)

Redis的缓存雪崩、缓存穿透、缓存击穿

1.redis的优点高性能:redis是基于内存的数据库,数据存储在RAM中,读写速度很快数据持久化:能够将内存中的数据保存咋磁盘上,防止数据丢失;两种持久化方式:快照和日志追加形式简单丰富:支持丰富的数据类型和易于使用的API2.redis的缺点内存限制:redis存储在内存中,因此受可用内存大小的限制单线程模型:r

Vue中的深度监听(Deep Watch):详细解析与实际示例

Vue中的深度监听(DeepWatch):详细解析与实际示例Vue.js是一款流行的前端JavaScript框架,其响应式系统是其核心特性之一。通过响应式系统,Vue允许开发者轻松地监听数据的变化并对其做出响应。在某些情况下,你可能需要对嵌套的数据结构进行深度监听,以便在任何级别的数据变化时触发相应的操作。本文将深入探

HTML5 Canvas动画实例

在开发在线游戏时,绘制动画是非常重要的。本文介绍一个使用CanvasAPI实现的动画实例——游戏人物的跑步动画。01、动画的概念及原理1、动画动画是通过一幅幅静止的、内容不同的画面(即帧)快速播放来呈现的,使人们在视觉上产生动的感觉。这是利用了人类眼睛的视觉暂留原理。利用人的这种生理特性可制作出具有高度想象力和表现力的

Matlab论文插图绘制模板第115期—带Latex公式的图

之前的文章中,分享了Matlab带线标记的图:带阴影标记的图:带箭头标记的图:带图形标记的图:进一步,分享一下带Latex公式的图,先来看一下成品效果:特别提示:本期内容『数据+代码』已上传资源群中,加群的朋友请自行下载。有需要的朋友可以关注同名公号【阿昆的科研日常】,后台回复关键词【绘图桶】查看加入方式。模板中最关键

代码随想录算法训练营第三十七天|738.单调递增的数字 968.监控二叉树 总结

738.单调递增的数字代码随想录例如:98,一旦出现strNum[i-1]>strNum[i]的情况(非单调递增),首先想让strNum[i-1]--,然后strNum[i]给为9,这样这个整数就是89,即小于98的最大的单调递增整数。从前向后遍历的话,遇到strNum[i-1]>strNum[i]的情况,让strNu

openjdk和oracle jdk的区别

OpenJDK和OracleJDK都是JavaDevelopmentKit(JDK)的不同实现,用于开发和运行Java应用程序。它们有一些区别,但也有很多相似之处。以下是它们之间的主要区别:开源性质:OpenJDK是开源的,由一个社区维护和开发,它的源代码可以在OpenJDK项目的网站上找到。这意味着任何人都可以免费获

Haproxy集群调度器与部署

目录一、Haproxy介绍:1.Haproxy应用分析:2.Haproxy的特性:3.Haproxy常见的调度算法:4.LVS、Nginx、HAproxy的区别:4.1Haproxy与lvs对比:4.2Haproxy与nginx对比:5.Haproxy优点:二、Haproxy部署:1.配置Haproxy负载调度器:1.

【Spring】Spring的手动实现

🎄欢迎来到@边境矢梦°的csdn博文🎄🎄本文主要梳理手动实现Spring底层机制🎄🌈我是边境矢梦°,一个正在为秋招和算法竞赛做准备的学生🌈🎆喜欢的朋友可以关注一下🫰🫰🫰,下次更新不迷路🎆Ps:月亮越亮说明知识点越重要(重要性或者难度越大)🌑🌒🌓🌔🌕目录实现任务阶段1-编写自己Spring

Nginx rewrite+防盗链

NginxNginx6、重写功能rewrite6.1if指令6.2return6.3set指令6.4break指令6.5rewrite指令6.5.1基本原理6.5.2语法格式6.5.3举例6.5.3.1测试访问bj跳转到beijing6.5.3.2域名重定向:所有域名都跳转到accp7、防盗链7.1什么是防盗链7.2防

热文推荐