几个名词

  • Java消息服务(Java Message Service)是一个Java标准,定义了使用消息代理的通用API。
  • 消息代理(message broker):类似于邮局的作用,确保消息被投递到指定的目的地。
    • ActiveMQ
    • Kafka
  • 目的地(destination)
    • 队列(queue,点对点模型):消息可以有多个接收者,但每一条消息只能被一个接收者取走。
    • 主题(topic,点对线模型):订阅此主题的订阅者都会接收到此消息的副本。

异步消息相较于同步消息的优点

  • 时间:异步消息不需要等待服务端的返回,只需发送消息即可。
  • 地点:不依赖于服务端的网络位置。
  • 解耦:不需要了解服务端的服务接口。
  • 安全:即使消息发送时,服务端无法正常运行服务,消息也会被存储起来,直到服务重新可以使用为止。

Spring对JMS的支持,包括JmsTemplate和消息驱动POJO

  • JmsTemplate作用:消除冗长和重复的JMS代码,可以创建连接、获得会话以及发送和接收消息,使开发者专注于构建要发送的消息或处理接收到的消息,捕获抛出的JMSException异常的子类检查型异常,并重新抛出对应JMSException异常的子类非检查型异常。
  • 消息驱动bean(message-driven bean,MDB):不必主动查看队列或主题中是否有消息(返回或超时),被动等待消息到达的通知,解决同步消息在消息可用前的阻塞问题。

Java消息服务初步学习(基于Spring In Action的整理)的更多相关文章

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

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

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

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

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

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

  4. Java消息服务

    什么是消息? 消息是可编程实现两端通信的机制.通常的一些消息技术如:TCP/IP Sockets.管道.文件.共享存储. Java消息服务 Java消息服务,即Java Message Service ...

  5. 01_Weblogic课程之概念篇:代理服务器,web服务器,应用程序服务器,JNDI概念,JTA概念,Java消息服务,Java验证和授权(JAAS),Java管理扩展,Web客户机,客户机应用程序

     1 什么是服务器 Weblogic中服务器分为两种,一种是受管服务器,另外一种是管理服务器. Weblogic课程(Weblogic是Oracle公司的,最开始的是BEA公司的) 一 系统管理 ...

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

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

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

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

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

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

  9. JMS(Java消息服务)

    JMS即Java消息服务(Java Message Service)应用程序接口是一个Java平台中关于面向消息中间件(MOM:指的是利用高效可靠的消息传递机制进行平台无关的数据交流,并基于数据通信来 ...

随机推荐

  1. git 初步

    git command help file:///D:/Git/mingw64/share/doc/git-doc/git-config.html git 版本控制管理 之前并没有接触过git方面的知 ...

  2. [http服务]

    [http服务] CentOS 6 httpd 程序环境 记录了httpd的主进程编号: v 主程序文件: /usr/sbin/httpd /usr/sbin/httpd.worker /usr/sb ...

  3. Java web学习 Cookie&&Session

    cookie&&session 会话技术 从打开一个浏览器访问某个站点,到关闭这个浏览器的整个过程,成为一次会话.会 话技术就是记录这次会话中客户端的状态与数据的. 会话技术分为Coo ...

  4. linux学习(六)绝对路径、相对路径、cd、mkdir、rmdir、rm

    一.绝对路径 就是从根开始的,如:/root./usr/local. 二.相对路径 相对于当前路径的,比如我们在当前路径下建立了一个a.txt. [root@iZ25lzba47vZ ~]# pwd ...

  5. 线程轮循打印ABC...

    package com.java.concurrent; import java.util.concurrent.locks.Condition; import java.util.concurren ...

  6. Android 开发笔记___alertDialog

    public class AlertActivity extends AppCompatActivity implements OnClickListener { private TextView t ...

  7. 用python做小说网站

    html头部 {% extends 'base.html' %} {% load static %} {% block title %}小说首页{% endblock %} {% block cont ...

  8. SQLServer2008R2 发布订阅及相关问题解决办法

    前言: 前两天接到领导的任务,将一个系统A的客户数据同步到另一个系统B中,以后客户录入入口只有A系统,B系统不提供录入入口,因为各种原因不能使用接口方式A系统和B系统直接交互同步,只能通过数据库重A库 ...

  9. Java_数据交换_fastJSON_01_用法入门

    一.用法 1.序列化—将Object转为Json对象 Object data=JSON.toJSON( MyObject ); 注:本文的Object可以是Map.List.javaBean等 需求: ...

  10. 40个Java多线程问题

    1.多线程有什么用? 一个可能在很多人看来很扯淡的一个问题:我会用多线程就好了,还管它有什么用?在我看来,这个回答更扯淡.所谓”知其然知其所以然”,”会用”只是”知其然”,”为什么用”才是”知其所以然 ...