Spring---异步消息
1、异步消息
1.1、目的:
为了 系统与系统 之间的通信;
1.2、概念:
异步消息 :消息的 发送者 无需 等待消息 接收者的处理及返回,甚至 无需 关心消息是否发送成功;
1.3、异步消息中的2个概念:
1.3.1、消息代理、目的地
当消息发送者 发送消息后,消息 将由 消息代理 接管,消息代理 保证 消息传递到 指定的目的地;
1.3.2、异步消息的2种 目的地形式:
a,队列(Queue)
作用: 用于 点对点 的消息通信;
b,主题(Topic)
作用: 用于 发布/订阅 的消息通信;
1.3.3、点对点
a,概述
当 消息发送者 发送消息后,消息代理 获得消息 并将 消息 放进一个 队列中;
当 消息接收者 接收消息时,消息 将被 从消息队列中 取出 传递给 接收者,这时队列中没有这条消息;
b,特点
点对点 确保 每条消息 只有 唯一 的发送者、接收者(不是 只有确定的 唯一接收者 可以接收消息);
1.3.4、发布/订阅
a,概述
消息发送者 (发布者) 将消息 发送到 主题;
多个消息接收者 (订阅者) 监听 这个主题;
2、消息代理
2.1、JMS(Java Message Service(java消息服务)),基于 JVM消息代理 的规范;
2.2、ActiveMQ、HornetQ 是 JMS消息代理的 实现;
2.3、AMQP(Advanced Message Queuing Protocol) 也是 一个消息代理 规范;
不仅 兼容 JMS、还支持 跨平台、跨语言;
AMQP 的实现:RabbitMQ;
3、Spring的支持
3.1、Spring 对 JMS 、AMQP 的支持 分别 来自 spring-jms、spring-rabbit;
3.2、spring-jms、spring-rabbit 分别 需要 ConnectionFactory 的实现 来 连接消息代理,并 分别 提供了 JmsTemplate、RabbitTemplate 发送消息;
3.3、Spring 为 JMS、AMQP 提供了 @JmsListener、@RabbitListener 在方法上 监听 消息代理 发布的消息;
3.4、需要 通过 @EnableJms、@EnableRabbit 开启 Spring 对 JMS、AMQP 的支持;
Spring---异步消息的更多相关文章
- 【Redis】redis异步消息队列+Spring自定义注解+AOP方式实现系统日志持久化
说明: SSM项目中的每一个请求都需要进行日志记录操作.一般操作做的思路是:使用springAOP思想,对指定的方法进行拦截.拼装日志信息实体,然后持久化到数据库中.可是仔细想一下会发现:每次的客户端 ...
- 1.异步消息Jms及其JmsTemplate的源代码分析,消息代理ActiveMQ
一. 介绍 借助Spring,有多种异步消息的可选方案,本章使用Jms.Jms的消息模型有两种,点对点消息模型(队列实现)和发布-订阅消息模型(主题). 图1.点对点消息模型(一对一) 图2.发布-订 ...
- 八.利用springAMQP实现异步消息队列的日志管理
经过前段时间的学习和铺垫,已经对spring amqp有了大概的了解.俗话说学以致用,今天就利用springAMQP来完成一个日志管理模块.大概的需求是这样的:系统中有很多地方需要记录操作日志,比如登 ...
- (十七)SpringBoot之使用异步消息服务jms之ActiveMQ
一.引入maven依赖 <dependencies> <dependency> <groupId>org.springframework.boot</grou ...
- #研发中间件介绍#异步消息可靠推送Notify
郑昀 基于朱传志的设计文档 最后更新于2014/11/11 关键词:异步消息.订阅者集群.可伸缩.Push模式.Pull模式 本文档适用人员:研发 电商系统为什么需要 NotifyServer? ...
- Java异步消息平台
l JAVA平台异步消息模块 JAVA平台异步消息模块,是一个针对RabbitMQ的消息发送及处理封装,包含消息的配置.发送.接收.失败重试.日志记录等,总共分为4个部分: 1)RabbitMQ访问 ...
- C#实现异步消息队列
原文:C#实现异步消息队列 拿到新书<.net框架设计>,到手之后迅速读了好多,虽然这本书不像很多教程一样从头到尾系统的讲明一些知识,但是从项目实战角度告诉我们如何使用我们的知识,从这本书 ...
- Android 异步消息处理机制前篇(二):深入理解Message消息池
版权声明:本文出自汪磊的博客,转载请务必注明出处. 上一篇中共同探讨了ThreadLocal,这篇我们一起看下常提到的Message消息池到底是怎么回事,废话少说吧,进入正题. 对于稍有经验的开发人员 ...
- Android异步消息机制
Android中的异步消息机制分为四个部分:Message.Handler.MessageQueue和Looper. 其中,Message是线程之间传递的消息,其what.arg1.arg2字段可以携 ...
- 三.RabbitMQ之异步消息队列(Work Queue)
上一篇文章简要介绍了RabbitMQ的基本知识点,并且写了一个简单的发送和接收消息的demo.这一篇文章继续介绍关于Work Queue(工作队列)方面的知识点,用于实现多个工作进程的分发式任务. 一 ...
随机推荐
- 安装fedora23后的一些杂项设置
Boxes是创建虚拟机的技术 tweak: 拧, 捏; 微调 he gave the boy's ear a painful tweak. it's a small tweak over the ra ...
- Django学习之模板
一.常用语法 1.变量 2.Filters 3.自定义filter 4.Tags 5.csrf_token 6.注释 7.注意事项 二.母板 2.继承母板 3.块(block) 4.组件 5.静态文件 ...
- 阶段1 语言基础+高级_1-3-Java语言高级_04-集合_04 数据结构_4_数据结构_链表
查询慢,增删快. 绿色代表一条链 红色是另外一条链 .查询是从头开始查所以慢. 在300和55之间添加一个元素
- HAWQ技术总结
HAWQ技术总结: 1. 官网: http://hawq.incubator.apache.org/ 2. 特性 2.1 sql支持完善 ANSI SQL标准,OLAP扩展,标准JDBC/ODBC支持 ...
- Arduino入门之前
胡乱乱的,就买了,这个 arduino的板子. 哎...本来明明是 学动漫的,然后 不小心就开始 做软件了,然后 越跑越偏...现在 开始 做 硬件开发了... 其实 还有 树莓派 可供选择,算了,不 ...
- Apache solr 6.6.0安装
Apache solr 6.6.0安装 最近使用了Apache solr搜索引擎框架,solr是基于lucene的一个搜索服务器,lucene也是Apache的一个开源项目:对于学习搜索引擎来说,这个 ...
- jsp自定义标签处理转义字符
sun公司提供的jstl虽然比较强大,但是开发中很难满足我们所有的需求,并且开发也禁止在jsp中写很多java代码,因此很多场景需要自己定义标签进行项目开发 sun提供的标签库引用方式:<%@t ...
- Codeforces 990C (模拟+组合数学)
题面: 传送门 分析: 此题O(n2l)" role="presentation" style="position: relative;">O( ...
- 洛谷P4391 [BOI2009]Radio Transmission 无线传输
(https://www.luogu.org/problemnew/show/P4391) 题目描述 给你一个字符串,它是由某个字符串不断自我连接形成的. 但是这个字符串是不确定的,现在只想知道它的最 ...
- HNUSTOJ-1600 BCD时钟
1600: BCD时钟 时间限制: 1 Sec 内存限制: 128 MB提交: 1038 解决: 156[提交][状态][讨论版] 题目描述 BCD码是指用四位二进制数来表示十进制数中的0~9这十 ...