JMS初探

什么是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)关联。

核心组件之间的关系如下图:



 

猜你喜欢

转载自15210494746.iteye.com/blog/1965862
jms