首先大致讲一下,java 消息模块

消息,个人理解分为两种:1.同步消息(RPC调用)

2.异步消息(本篇讲解部分)

一.同步消息java提供了多种方案:

最新比较常用的方式就是spring Http invoker(注:只在spring项目)和服务提供JAX-WS方式

二.本文主要内容:异步消息

异步消息首先分两处讲解:1.JMS(Java Message Service)

2.AMQP(Advanced Message Queuing Protocol)

1.首先来讲解下,不同于同步消息,什么是异步消息。

客户端主服务不需要等待服务处理消息,简单来说就是不阻塞。

(单纯这样通过多线程RPC访问也能达到同样效果)

在异步消息中有两个主要概念:消息代理(message broker)

目的地(destination)

注意:不同的消息系统会提供不同的消息路由模式,但是有两种通用的的目的地:

1. 队列(queue)      2.主题(topic)

队列分好多种,大家记得就可以,本文主要讲解,远程队列,模版队列和动态队列!!!!!

注:一个隐藏的mq概念(通道)!!!!!!!!        内容是在太多了

上述通用的概念可以百度,在讲解JMS也会讲解到具体的.

第一.JMS

(扯犊子讲下为啥需要知道JMS,jms消息的基础算是,acctiveMQ其实也是基于jms搞出来的)

基本的概念:JMS是java message service,在java程序需要异步发送消息的时候使用的一种服务

JMS主要的点(也是多种不同消息模式通用的点):1.点对点模式Point-to-Point(P2P)

2.发布/订阅模式Publish/Subscribe(Pub/Sub)

点对点:这种模式所涉及到的概念就是-1.发送者,2.接收者,3.消息队列(远程队列)

先来个点用时序图方便大家理解:

当前模式需要了解的点:1.一个生产者之对应一个消费者

2.生产者和消费者之间没有依赖,生产者只需要把消息丢到远程队列即可

3.消费者从队列获取消息,即队列中的消息只有在被消费或者超时才会被销毁(所以消费者可以不用时时监听)

(具体代码,我等结尾贴个开源代码,可以自己找)

发布/订阅模式:这种模式所涉及到的概念就是-1.发布者(Publisher),2.订阅者(Subscriber),3.主题Topic(模版队列+动态队列)

是时候再贴一张图了:

当前模式需要了解的点:1.一个生产者之对应多个个消费者,即一条消息可以被多次消费。

2.默认情况下,当生产者生产消息的时候,消费者必须在线同事消费,即发布主题时,订阅者必须在线监听

3.为了接触订阅模式,消费者与主题的时间耦合,JMS提供可持久化订阅,这块是重点,即针对于某些特定的订阅者,Topic会缓存至其订阅者消费或消息超时。

---------------------
作者:狗蛋儿_312
来源:CSDN
原文:https://blog.csdn.net/weixin_37352094/article/details/80500202
版权声明:本文为博主原创文章,转载请附上博文链接!

JAVA消息 JMS 很重要的更多相关文章

  1. JMS(Java消息服务)入门教程

    什么是Java消息服务 Java消息服务指的是两个应用程序之间进行异步通信的API,它为标准消息协议和消息服务提供了一组通用接口,包括创建.发送.读取消息等,用于支持JAVA应用程序开发.在J2EE中 ...

  2. JMS(Java消息服务)与消息队列ActiveMQ基本使用(一)

    最近的项目中用到了mq,之前自己一直在码农一样的照葫芦画瓢.最近几天研究了下,把自己所有看下来的文档和了解总结一下. 一. 认识JMS 1.概述 对于JMS,百度百科,是这样介绍的:JMS即Java消 ...

  3. java消息服务学习之JMS概念

    JMS即Java消息服务(Java Message Service)应用程序接口是一个Java平台中关于面向消息中间件(MOM)的API,用于在两个应用程序之间,或分布式系统中发送消息,进行异步通信. ...

  4. Java消息队列——JMS概述

    一.什么是JMS JMS即Java消息服务(Java Message Service)应用程序接口,是一个Java平台中关于面向消息中间件(MOM)的API,用于在两个应用程序之间,或分布式系统中发送 ...

  5. ActiveMQ学习总结(5)——Java消息服务JMS详解

    JMS: Java消息服务(Java Message Service) JMS是用于访问企业消息系统的开发商中立的API.企业消息系统可以协助应用软件通过网络进行消息交互. JMS的编程过程很简单,概 ...

  6. JMS(Java消息服务)入门教程(一)

    什么是Java消息服务 Java消息服务指的是两个应用程序之间进行异步通信的API,它为标准消息协议和消息服务提供了一组通用接口,包括创建.发送.读取消息等,用于支持JAVA应用程序开发.在J2EE中 ...

  7. Java消息队列--JMS概述

    1.什么是JMS JMS即Java消息服务(Java Message Service)应用程序接口,是一个Java平台中关于面向消息中间件(MOM)的API,用于在两个应用程序之间,或分布式系统中发送 ...

  8. 【转载】JAVA消息服务JMS规范及原理详解

    转载:https://www.cnblogs.com/molao-doing/articles/6557305.html 作者: moyun- 一.简介 JMS即Java消息服务(Java Messa ...

  9. JAVA消息服务JMS规范及原理详解

    JAVA消息服务JMS规范及原理详解 一.简介 JMS即Java消息服务(Java Message Service)应用程序接口,是一个Java平台中关于面向消息中间件(MOM)的API,用于在两个应 ...

随机推荐

  1. jenkins前端构建

    nginx 安装yum install nginx //输入下载 or yum install epel-release //如果上一步安装失败 yum install nginx //再次下载 配置 ...

  2. Apache的配置详解,最好的Apache配置文档

    http://blog.csdn.net/apple_llb/article/details/50253889 Apache的配置由httpd.conf文件配置,因此下面的配置指令都是在httpd.c ...

  3. Cat VS Dog---hdu3829(最大独立集)

      题目链接 题意:有n只猫,有m只狗.现在有P个学生去参观动物园.每个孩子有喜欢的动物和不喜欢的动物.假如他喜欢猫那么他就一定不喜欢狗(反之亦然). 如果一个孩子喜欢一个动物,那么这个动物不会被移除 ...

  4. ubuntu配置tomcat和jdk

    1.安装tomcat此处以tomcat8为例. 先到tomcat官网:http://tomcat.apache.org下载相应的tar.gz的安装包 放到ubuntu系统的指定位置(自己指定)解压. ...

  5. 005-ant design -结合echart

    原因: ant design本省提供图标组件,是基于 BizCharts ,但是使用有些限制比如:TimelineChart带有时间轴的图表.使用 TimelineChart 组件可以实现带有时间轴的 ...

  6. React 教程

    React 入门实例教程 http://www.ruanyifeng.com/blog/2015/03/react.html React 测试入门教程http://www.ruanyifeng.com ...

  7. HDU1573:X问题(解一元线性同余方程组)

    题目:http://acm.hdu.edu.cn/showproblem.php?pid=1573 题目解析;HDU就是坑,就是因为n,m定义成了__int64就WAY,改成int就A了,无语. 这题 ...

  8. python3 捕捉代码行出错的小程序

    下面主要使用的是: try .. except .. else .. finally ...,用的是 traceback 这个第三方模块. import traceback #捕捉哪行代码报错 def ...

  9. 菜单条 Menu Bar Action

    //.h /***Action**/ QAction * act_openImage; QAction * act_openVideo; QAction * act_openAudio; /***Me ...

  10. cocos代码研究(21)Widget子类Text,TextAtlas,TextBMFont学习笔记

    理论基础 Text类又称ttf格式文本,可以用ttf文件或者系统自带字体,支持文字多,但是ttf文件格式体积大,渲染速度慢: TextBMFont类又称fnt格式文本,纹理创建,根据纹理上有的文字来显 ...