1.JMS

Java Message Service,提供API,供两个应用程序或者分布式应用之间异步通信,以传送消息。

2.相关概念

提供者:实现JMS规范的消息中间件服务器
客户端:发送或接收消息的应用程序,我们主要开发这个。包括 生产者/发布者客户端 及 消费者/订阅者客户端。
生产者/发布者:创建并发送消息的客户端
消费者/订阅者:接收并处理消息的客户端
消息:应用程序之间传递的数据内容
消息模式:在客户端之间传递消息的方式,JMS中定义了队列和主题两种模式。

3.了解消息模式

3.1 队列模式

客户端:生产者、消费者
队列中的消息只能被一个消费者消费
消费者可以随时消费队列中的消息(应先启动消费者,再启动生产者)

3.2 主题模型

客户端:发布者、订阅者
主题中的消息被所有消费者订阅
消费者不能消费订阅之前就发送到主题中的消息(应先启动订阅者客户端,再启动发布者客户端)

4. JMS编码接口

ConnectionFactory 创建连接到消息中间件的连接工厂
Connection 代表应用程序和消息服务器之间的通信链路
Destination 消息发布和接收的地点,选项为队列或主题
Session 一个发送或接收消息的线程
MessageConsumer 由会话创建。用于接收消息。
MessageProduer 由会话创建。用于发送消息。
Message 在生产者和消费者之间传递的消息对象。由消息头、一组消息属性、一个消息体组成。

5.安装activeMQ

a. 下载

b. 解压

c. 添加环境变量到Path

d. 设置为服务

e. 手动启动(下次开机服务会自动运行)

f. 浏览器访问 http://127.0.0.1:8161 ,默认账号密码为 admin / admin

6.代码

码云下载地址

注1:开发环境为windows + JDK8 + eclipse Mars2 + Maven3.3.9

注2:两种模式都是先启动消费者,后启动提供者

注3:消费者应保持连接,以等待提供者生产数据,再行消费

7.小结

(1)activeMQ 是JMS规范的一种优秀实现。

(2)activeMQ 是消息中间件。消息中间件相当于中介,是一个信息的「中转站」。

(3)activeMQ 有两种模式:队列(点对点)模式 和 主题(订阅)模式。两种模式最大的区别是队列模式『瓜分』消息,主题模式『均沾』消息。

遇见JMS[1] —— activeMQ的简单使用的更多相关文章

  1. 深入浅出JMS(三)--ActiveMQ简单的HelloWorld实例

    第一篇博文深入浅出JMS(一)–JMS基本概念,我们介绍了JMS的两种消息模型:点对点和发布订阅模型,以及消息被消费的两个方式:同步和异步,JMS编程模型的对象,最后说了JMS的优点. 第二篇博文深入 ...

  2. 【JMS】JMS之ActiveMQ的使用

    这篇文章主要是简单介绍一下JMS和ActiveMQ,以及使用ActiveMQ来写两个demo. 1. JMS是啥 百度百科的解释: JMS即Java消息服务(Java Message Service) ...

  3. ActiveMQ第二弹:使用Spring JMS与ActiveMQ通讯

    本文章的完整代码可从我的github中下载:https://github.com/huangbowen521/SpringJMSSample.git 上一篇文章中介绍了如何安装和运行ActiveMQ. ...

  4. 【ActiveMQ】Spring Jms集成ActiveMQ学习记录

    Spring Jms集成ActiveMQ学习记录. 引入依赖包 无论生产者还是消费者均引入这些包: <properties> <spring.version>3.0.5.REL ...

  5. 深入浅出 JMS(二) - ActiveMQ 入门指南

    深入浅出 JMS(二) - ActiveMQ 入门指南 上篇博文深入浅出 JMS(一) – JMS 基本概念,我们介绍了消息通信的规范JMS,这篇博文介绍一款开源的 JMS 具体实现-- Active ...

  6. 理解面向消息中间件及JMS 以及 ActiveMQ例子

    为了帮助你理解ActiveMQ的意义,了解企业消息传送背景和历史是很重要的.讨论完企业消息传送,你将可以通过一个小例子了解JMS及其使用.这章的目的是简要回顾企业消息传送及JMS规范.如果你已经熟悉这 ...

  7. JMS实战——ActiveMQ实现Pub-Sub

    前言 上篇博客<JMS实战--ActiveMQ>介绍了ActiveMQ的安装,并实现了简单的PTP模型.这篇博客我们来看一下Pub-Sub模型,之后来总结一下JMS. 实现 项目结构 其中 ...

  8. Simple guide to Java Message Service (JMS) using ActiveMQ

    JMS let’s you send messages containing for example a String, array of bytes or a serializable Java o ...

  9. JMS and ActiveMQ first lesson(转)

    JMS and ActiveMQ first lesson -- jms基础概念和应用场景 2011-6-18 PM 9:30 主讲:kimmking <kimmking@163.com> ...

随机推荐

  1. JAR包数字签名与验证

    经签名的Jar包内包含了以下内容: 原Jar包内的class文件和资源文件 签名文件 META-INF/*.SF:这是一个文本文件,包含原Jar包内的class文件和资源文件的Hash 签名block ...

  2. awk 字符串处理函数

    awk提供了许多强大的字符串函数,见下表:awk内置字符串函数gsub(r,s)    在整个$0中用s替代rgsub(r,s,t)    在整个t中用s替代rindex(s,t)    返回s中字符 ...

  3. awk grep sed cut学习

    awk学习网站 grep sed cut

  4. Spring Cache For Redis

    一.概述 缓存(Caching)可以存储经常会用到的信息,这样每次需要的时候,这些信息都是立即可用的. 常用的缓存数据库: Redis   使用内存存储(in-memory)的非关系数据库,字符串.列 ...

  5. java编码GBK的不可映射字符

    编译java文件时,提示编码GBK的不可映射字符. 主要原因:windows 默认编码方式为GBK,用javac编译时,中文按照GBK解析,但是文件内容编码格式不是GBK. 解决:若编译单个文件指定编 ...

  6. 关于scanf,gets

    1.用了gets后,假如你没有输入任何东西直接[enter],它将执行下一条命令 2.用了scanf后,直接按了[enter],它将换行并等待你的输入,直到你输入非[enter],再执行下一条命令. ...

  7. chrome disable-web-security 关闭安全策略 解决跨域

    Chrome 跨域访问线上接口 时间:2016-04-21 作者:zhongxia 前后端分离之后,联调的时候就会出现问题,那就是Ajax跨域问题. 跨域问题的解决方案有很多种比如常规的 后端使用CR ...

  8. 01_Linux软件源配置

    一.国内软件源 阿里源:https://mirrors.aliyun.com/ 清华大学:https://mirrors.tuna.tsinghua.edu.cn/ 中科大 : https://mir ...

  9. cookie和session的那些事

    对于经常网购的朋友来说,经常会遇到一种情况: 打开淘宝或京东商城的首页,输入个人账号和密码进行登陆,然后进行购物,支付等操作都不需要用户再次输入用户名和密码 但是如果用户换一个浏览器或者等几个小时后再 ...

  10. Mysql基础安装,初视篇

    mysql 跟所有的数据库软件一样分为  服务端和客户端: 下载:在官网里面选择 download 社区版本,mysql,社区版本 安装: win环境下: 第一步:解压文件出来 第二步:在bin文件下 ...