JMS基本概念
来源:互联网 发布:简述单片机的开发过程 编辑:程序博客网 时间:2024/05/22 07:08
1.JMS作用
JMS是应用系统或者组件之间相互通信的应用程序接口,利用它,我们可以轻易实现在不同jvm之间互相的远程通信。
要实现远程通信RPC同样也能做到,但是RPC却不可避免的增加了不同系统之间的耦合度,JMS能极大的降低不同的应用系统之间的耦合
2.JMS模型
(1)PTP点对点
一个生产者向jms server发送消息,一个消费者从该jms server中读取消息。一条消息只能由多个消费者中的一个消费者来接收
jms server就是用来暂时存储或中转消息的,在PTP模型中,jms server 就是一个队列
消息是异步发送和处理的,也就是说,生产者不需要在接收者消费该消息期间处于运行状态,同样,接收者也不需要再消息发送时处于运行状态
(2)发布者/订阅者
发布者向一个特定的消息主题发布消息,0或对个订阅者可能对特定主题的消息感兴趣。
jms server在这种模型下,就相当于Topic主题。
发布者需要建立一个订阅,以便客户能够订阅
3.JMS消息投递方式
(1)NON_PERSISTENT:最多投递一次
(2)PERSISTNET:先将消息暂存,然后再转送。如果一个JMS服务离线,那么这种消息不会丢失,但是得等到这个服务恢复联机时才会被传递
注:默认消息投递方式是非持久的
4.JMS消息正文格式
(1)StreamMessage:java原始的数据流
(2)MapMessage:key-value数据
(3)TextMessage:字符串
(4)ObjectMessage:一个序列化的java对象
(5)BytesMessage:字节数据流
5.JMS应用程序接口
(1)ConnectionFactory
连接工厂,用户用来创建到JMS提供者的连接对象。
(2)Connection
连接。代表了应用程序和消息服务器之间的连接。在获得了ConnectionFactory之后,就可以创建一个与jms提供者的连接
(3)Session
会话,通过Connection对象来创建。
用来发送和接收消息。由于Session是单线程的,所以消息是连续的,就是说消息是按照发送的顺序一个个接收的。
会话的好处是支持事务,如果用户选择了事务支持,session中将保存一组消息,直到事务被提交才一起发送这些消息。在提交事务之前,用户可以回滚取消这些消息
(4)Destination
代表了消息发送和接收的地点,可能是队列或者主题
(5)MessageProducer
由session创建的对象,用于发送消息到目标
(6)MessageConsumer
由session创建的对象,用于接收发送到目标的消息,消费者可以同步也可以异步的接收队列和主题类型的消息
(7)Message
消息。是生产者和消费者之间传递的对象。主要包括消息头、一组消息属性和消息体
- JMS基本概念
- JMS基本概念
- JMS 基本概念
- jms基本概念
- JMS基本概念
- JMS基本概念
- JMS基本概念
- JMS基本概念
- JMS基本概念
- JMS基本概念
- JMS基本概念
- JMS基本概念
- JMS基本概念
- JMS基本概念
- JMS基本概念
- JMS基本概念
- JMS基本概念
- JMS基本概念
- 【算法复习一】常见的算法策略汇总
- 黑马程序员——JAVA集合
- Django数据库操作(python)
- 一步步将vim改造成C/C++开发环境(IDE)
- 学习七十一雾央MFC游戏心得,初体验(八)
- JMS基本概念
- Sona - NBUT 1457 莫队算法
- Apache部署Django环境
- 从内存的角度观察 堆、栈、全局区(静态区)(static)、文字常量区、程序代码区
- linux下nohup命令——让程序在远程主机后台运行
- 内存区划分、内存分配、常量存储区、堆、栈、自由存储区、全局区
- Myeclipse中怎样搭建SSH框架
- AndroidADT如何签名打包问题详解
- TCP/IP协议族-----1、引言