什么是JMS?
JMS即Java消息服务(Java Message Service),是有关面向消息中间件(MOM)创建、发送、接收、查看异步消息的统一技术规范。
JMS主要包含哪些元素?
JMS有以下元素组成。
1、JMS提供者
连接面向消息中间件的,JMS接口的一个实现。提供者可以是Java平台的JMS实现,也可以是非Java平台的面向消息中间件的适配器。
2、JMS客户端
生产或消费基于消息的Java的应用程序或对象。
3、JMS生产者
创建并发送消息的JMS客户。
4、JMS消费者
接收消息的JMS客户。
5、JMS消息
在JMS客户之间传递的数据的对象。
1)JMS定义了Message五种不同的消息正文格式;
StreamMessage-原始值数据流,MapMessage-键值对,TextMessage-字符串,ObjectMessage-序列化Java对象,BytesMessage-未解释字节数据流。
2)JMS定义了Message10个有限级别(0-9),9有限级最高。
3)JMS两种Message的持久策略:标记为的消息NON_PERSISTENT最多投递一次,而标记为PERSISTENT的消息将使用暂存后再转送的机理投递,持久性消息不会丢失但是得等到这个服务恢复联机时才会被传递,默认的消息传递方式是非持久性的。
4)另外可以定义消息的生命周期,0为永不过期。
6、JMS队列
用于点对点(Ponit-To-Point)的消息模式,Queue。
7、JMS主题
用于发布/订阅(Publish/Subscribe)消息模式,Topic。
JMS对象核心的对象有哪些?
JMS对象模型包含如下几个要素:
1)连接工厂(ConnectionFactory)是由管理员创建,并绑定到JNDI树中。客户端使用JNDI查找连接工厂,然后利用连接工厂创建一个JMS连接。
2)JMS连接(Connection)表示JMS客户端和服务器端之间的一个活动的连接,是由客户端通过调用连接工厂的方法建立的。
3)JMS会话(Session)表示JMS客户与JMS服务器之间的会话状态。JMS会话建立在JMS连接上,表示客户与服务器之间的一个会话线程。
4)JMS目的(Destination),又称为消息队列,是实际的消息源。
5)JMS生产者(Message Producer)和消费者(Message Consumer)对象由Session对象创建,用于发送和接收消息。
6)JMS消息通常有两种类型:
① 点对点(Point-to-Point)。在点对点的消息系统中,消息分发给一个单独的使用者。点对点消息往往与队列(javax.jms.Queue)相关联。
② 发布/订阅(Publish/Subscribe)。发布/订阅消息系统支持一个事件驱动模型,消息生产者和消费者都参与消息的传递。生产者发布事件,而使用者订阅感兴趣的事件,并使用事件。该类型消息一般与特定的主题(javax.jms.Topic)关联。
核心组件之间的关系如下图:
相关推荐
- **JMS和JavaMail支持**:Spring提供了对Java消息服务(JMS)和邮件服务的接口,方便开发者处理异步通信和邮件发送。 综上,Spring 2.0不仅是一个强大的框架,也是构建现代Java应用的重要基石。它的全面性和灵活...
《Spring Framework 0.9.1:初探与解析》 Spring Framework,作为Java开发领域中的一个里程碑式框架,自其诞生以来就以其强大的企业级应用支持和灵活的编程模式深受开发者喜爱。本文将深入探讨Spring Framework ...
**2.5 初探PAFA** 通过简单的“Hello World”示例,让开发者快速了解PAFA的基本用法和流程。 #### 三、PAFA应用的整体结构 **3.1 开发目录布局** PAFA应用通常包含以下目录结构: - `src/main/java`:存放Java源...
Spring支持与Java Message Service (JMS) 的集成,使得开发者可以使用消息传递中间件来实现异步通信。 **7.5 集成JavaMail** Spring支持与JavaMail的集成,使得开发者可以轻松地发送电子邮件。 综上所述,...
【标题】:Mule ESB 项目初探 在IT领域,企业服务总线(Enterprise Service Bus,ESB)是一种架构模式,用于实现不同应用程序之间的松耦合通信。Mule ESB 是一个开源的ESB产品,由MuleSoft公司开发,它提供了强大的...