消息队列-ActiveMQ学习笔记(一)-JMS介绍与环境搭建
2017-11-03 11:05
393 查看
一、介绍JMS(来自于百度百科)
JMS即Java消息服务(Java
Message Service)应用程序接口,是一个Java平台中关于面向消息中间件(MOM)的API,用于在两个应用程序之间,或分布式系统中发送消息,进行异步通信。
1、体系结构:
JMS提供者:连接面向消息中间件的,JMS接口的一个实现。提供者可以是Java平台的JMS实现,也可以是非Java平台的面向消息中间件的适配器。
JMS客:生产或消费基于消息的Java的应用程序或对象。
JMS生产者:创建并发送消息的JMS客户。
JMS消费者:接收消息的JMS客户。
JMS消息:包括可以在JMS客户之间传递的数据的对象
JMS队列:一个容纳那些被发送的等待阅读的消息的区域。与队列名字所暗示的意思不同,消息的接受顺序并不一定要与消息的发送顺序相同。一旦一个消息被阅读,该消息将被从队列中移走。
JMS主题:一种支持发送消息给多个订阅者的机制。
2、对象模型
1)连接工厂。连接工厂(ConnectionFactory)是由管理员创建,并绑定到JNDI树中。客户端使用JNDI查找连接工厂,然后利用连接工厂创建一个JMS连接。
2)JMS连接。JMS连接(Connection)表示JMS客户端和服务器端之间的一个活动的连接,是由客户端通过调用连接工厂的方法建立的。
3)JMS会话。JMS会话(Session)表示JMS客户与JMS服务器之间的会话状态。JMS会话建立在JMS连接上,表示客户与服务器之间的一个会话线程。
4)JMS目的。JMS目的(Destination),又称为消息队列,是实际的消息源。
5)JMS生产者和消费者。生产者(Message Producer)和消费者(Message Consumer)对象由Session对象创建,用于发送和接收消息。
6)JMS消息通常有两种类型:
① 点对点(Point-to-Point)。在点对点的消息系统中,消息分发给一个单独的使用者。点对点消息往往与队列(javax.jms.Queue)相关联。
② 发布/订阅(Publish/Subscribe)。发布/订阅消息系统支持一个事件驱动模型,消息生产者和消费者都参与消息的传递。生产者发布事件,而使用者订阅感兴趣的事件,并使用事件。该类型消息一般与特定的主题(javax.jms.Topic)关联。
3、传递方式:
JMS定义了五种不同的消息正文格式,以及调用的消息类型,允许你发送并接收以一些不同形式的数据,提供现有消息格式的一些级别的兼容性。
· StreamMessage -- Java原始值的数据流
· MapMessage--一套名称-值对
· TextMessage--一个字符串对象 使用较多
· ObjectMessage--一个序列化的 Java对象 使用较多
· BytesMessage--一个未解释字节的数据流
二、Active MQ介绍与安装
ActiveMQ 是Apache出品,最流行的,能力强劲的开源消息总线。ActiveMQ 是一个完全支持JMS1.1和J2EE 1.4规范的。
环境准备:下载地址:http://activemq.apache.org/activemq-5133-release.html
源码下载地址:http://mirrors.tuna.tsinghua.edu.cn/apache/activemq/5.13.3/activemq-parent-5.13.3-source-release.zip
JMS API下载地址:http://download.csdn.net/download/wangshuxuncom/8269377
解压activeMQ的压缩包后,目录如下:
![](https://oscdn.geek-share.com/Uploads/Images/Content/201711/addcce09934ae409906c014f8661715a)
启动activeMQ的服务
![](https://oscdn.geek-share.com/Uploads/Images/Content/201711/cb42a604c733fd324824716d80826537)
启动完成后,如下图所示
![](https://oscdn.geek-share.com/Uploads/Images/Content/201711/1889270f328c4e1842dc44a5688228a5)
访问Active MQ的后台管理系统,地址为:http://127.0.0.1:8161/admin/ 用户名/密码:admin/admin
![](https://oscdn.geek-share.com/Uploads/Images/Content/201711/9ae46cc7bccc4ddd00414b3e9c6e5283)
至此,环境搭建完成。
JMS即Java消息服务(Java
Message Service)应用程序接口,是一个Java平台中关于面向消息中间件(MOM)的API,用于在两个应用程序之间,或分布式系统中发送消息,进行异步通信。
1、体系结构:
JMS提供者:连接面向消息中间件的,JMS接口的一个实现。提供者可以是Java平台的JMS实现,也可以是非Java平台的面向消息中间件的适配器。
JMS客:生产或消费基于消息的Java的应用程序或对象。
JMS生产者:创建并发送消息的JMS客户。
JMS消费者:接收消息的JMS客户。
JMS消息:包括可以在JMS客户之间传递的数据的对象
JMS队列:一个容纳那些被发送的等待阅读的消息的区域。与队列名字所暗示的意思不同,消息的接受顺序并不一定要与消息的发送顺序相同。一旦一个消息被阅读,该消息将被从队列中移走。
JMS主题:一种支持发送消息给多个订阅者的机制。
2、对象模型
1)连接工厂。连接工厂(ConnectionFactory)是由管理员创建,并绑定到JNDI树中。客户端使用JNDI查找连接工厂,然后利用连接工厂创建一个JMS连接。
2)JMS连接。JMS连接(Connection)表示JMS客户端和服务器端之间的一个活动的连接,是由客户端通过调用连接工厂的方法建立的。
3)JMS会话。JMS会话(Session)表示JMS客户与JMS服务器之间的会话状态。JMS会话建立在JMS连接上,表示客户与服务器之间的一个会话线程。
4)JMS目的。JMS目的(Destination),又称为消息队列,是实际的消息源。
5)JMS生产者和消费者。生产者(Message Producer)和消费者(Message Consumer)对象由Session对象创建,用于发送和接收消息。
6)JMS消息通常有两种类型:
① 点对点(Point-to-Point)。在点对点的消息系统中,消息分发给一个单独的使用者。点对点消息往往与队列(javax.jms.Queue)相关联。
② 发布/订阅(Publish/Subscribe)。发布/订阅消息系统支持一个事件驱动模型,消息生产者和消费者都参与消息的传递。生产者发布事件,而使用者订阅感兴趣的事件,并使用事件。该类型消息一般与特定的主题(javax.jms.Topic)关联。
3、传递方式:
JMS定义了五种不同的消息正文格式,以及调用的消息类型,允许你发送并接收以一些不同形式的数据,提供现有消息格式的一些级别的兼容性。
· StreamMessage -- Java原始值的数据流
· MapMessage--一套名称-值对
· TextMessage--一个字符串对象 使用较多
· ObjectMessage--一个序列化的 Java对象 使用较多
· BytesMessage--一个未解释字节的数据流
二、Active MQ介绍与安装
ActiveMQ 是Apache出品,最流行的,能力强劲的开源消息总线。ActiveMQ 是一个完全支持JMS1.1和J2EE 1.4规范的。
环境准备:下载地址:http://activemq.apache.org/activemq-5133-release.html
源码下载地址:http://mirrors.tuna.tsinghua.edu.cn/apache/activemq/5.13.3/activemq-parent-5.13.3-source-release.zip
JMS API下载地址:http://download.csdn.net/download/wangshuxuncom/8269377
解压activeMQ的压缩包后,目录如下:
启动activeMQ的服务
启动完成后,如下图所示
访问Active MQ的后台管理系统,地址为:http://127.0.0.1:8161/admin/ 用户名/密码:admin/admin
至此,环境搭建完成。
相关文章推荐
- 消息队列-ActiveMQ学习笔记(一)-JMS介绍与环境搭建
- linux ELK(filebeat)环境搭建中加入kafka消息队列的详细介绍(菜鸟新手级别)
- Kafka分布式消息队列(二):环境搭建&测试
- CentOS7开发环境搭建(三)——消息队列Qpid
- maven搭建JMS消息队列(ActiveMQ)
- kafka消息队列环境搭建
- redis 消息队列 环境搭建
- RabbitMQ消息队列(一): Detailed Introduction 详细介绍
- RabbitMQ消息队列 详细介绍
- Struts2介绍及开发环境搭建
- [转]Linux环境进程间通信 -- 消息队列
- 消息队列:快速上手ActiveMQ消息队列的JMS方式使用(两种模式:Topic和Queue的消息推送和订阅)
- Kafka是什么,JMS是什么,常见的类JMS消息服务器,为什么需要消息队列(来自学习笔记)
- 浅谈消息队列之JMS消息服务规范
- Linux环境进程间通信(三):消息队列
- HBase介绍、搭建、环境、安装部署
- 傻瓜式快速搭建PHP开发环境:介绍几款AMP套装
- jboss配置使用JMS消息队列
- Eclipse rap 富客户端开发总结(1) - rap简单介绍和开发环境搭建
- 使用专业的消息队列产品rabbitmq之centos7环境安装