Chinaunix首页 | 论坛 | 博客
  • 博客访问: 2910644
  • 博文数量: 412
  • 博客积分: 3010
  • 博客等级: 中校
  • 技术积分: 7374
  • 用 户 组: 普通用户
  • 注册时间: 2009-04-25 15:15
个人简介

学习是一种信仰。

文章分类

全部博文(412)

文章存档

2014年(108)

2013年(250)

2010年(11)

2009年(43)

我的朋友

分类: Java

2014-05-19 15:12:11

Java消息服务JMS

JMS(Java Message Service)是访问企业消息系统的标准API,S是用于和面向消息的中间件相互通信的应用程序接口。它便于消息系统中的Java应用程序进行消息交换,并且通过提供标准的产生、发送、接收消息的接口简化企业应用的开发。它既支持点对点(point-to-point)的域,又支持发布/订阅 (publish/subscribe)类型的域。

 

一、什么是JMS

? 是基于Java的消息中间件

(Message Oriented Middleware, MOM)。

? 是JavaEE的一部分。

? 用于在多个Java应用之间发送消息。

? 该机制使得多个分布式应用可以异步通信、

提高软件可靠性、降低耦合度。

 

二、JMS主要部分

1JMS provider

– 实现了JMS接口的消息中间件。

– 主要JMS provider:

? Apache ActiveMQ

? Apache Qpid

? OpenJMS

? JORAM

? JBoss Messaging

? HornetQ

? ...

2JMS 客户

– 创建、发送、接收消息的应用程序。

? JMS 生产者/发布者

– 创建并发布消息的JMS客户。

? JMS 消费者/订阅者

– 接收消息的JMS客户。

? JMS消息

– 在JMS客户之间传递的包含数据的对象。

3JMS 队列 (Queue)

– 保存已发送或待接收消息的地方。

– 保存在队列中的消息并非先进先出,可以同时

对其中的消息进行处理。

– 队列保证每个消息只被处理一次。

4JMS 主题 (Topic)

– 是一种消息发布机制。

– 可以将消息发布给多个消息订阅者。

 

三、JMS 模型

1、点到点模型(队列模型)


   1.发送方将消息发送至指定队列。

2.消息保存在队列中,直至它们被接收或过期。

3.每个消息只有一个接收者。

4.发送和接收过程是异步的。

2、发布/订阅模型

1.发布者将消息发布至特定主题 (topic)

2.发布者和订阅者彼此不知道对方。

3.存在多个(也可以没有)订阅者。

 

 

阅读(6172) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~