JMS API

来源:互联网 发布:极限挑战3网络几点更新 编辑:程序博客网 时间:2024/06/01 08:38
一、JMS介绍

JMS(Java消息服务)指的是两个应用程序之间进行异步通信的API,它为标准消息协议和消息服务提供了一组通用接口,包括创建、发送、读取消息等,用于支持JAVA应用程序开发。在J2EE中,当两个应用程序使用JMS进行通信时,它们之间并不是直接相连的,而是通过一个共同的消息收发服务连接起来,可以达到解耦的效果

二、JMS分类

1、公共API   (可被用向一个队列或一个主题发送消息,或者从中接收消息)

在JMS公共API内部,和发送和接收JMS消息有关的JMS API接口主要有7个:

-ConnectionFactory

-Destination

-Connection

-Session

-Message

-MessageProducer

-MessageConsumer

从图中可以看出,ConnectionFactory和Destination必须使用JNDI从提供者获得,其他接口通过工厂办法在不同的API接口中创建。一旦有ConnectionFactory,就可以创建一个Connection。有了Connection就可以创建Session,以此类推。

2、点对点API  (专门用于使用队列)

下面是用于一个队列发送和从一个队列接收信息的接口:

-QueueConnectionFactory

-Queue

-QueueConnection

-QueueSession

-Message

-QueueSender

-QueueReceiver

特点

  • 每个消息只有一个接收者;
  • 消息发送者和接收者并没有时间依赖性,也就说当消息发送者发送消息的时候,无论接收者程序在不在运行,都能获取到消息;
  • 当接收者收到消息的时候,会发送确认收到通知(acknowledgement)。

(2)点对点API模式图




3、发布/订阅API(专门用于主题)

发布/订阅模型:发布/订阅传递消息类型与主题(Topic)有关。生产者发布消息,而消费者订阅感兴趣的消息,生产者将消息和一个特定的主题(Topic)连在一起,消息传递系统(MOM)根据消费者注册的兴趣,将消息传递给消费者。这种类型非常类似出版报纸、杂志的形式.

发布/订阅消息传送模型内部使用的接口如下:

-TopicConnectionFactory

-Topic

-TopicConnection

-TopicSession

-Message

-TopicPublisher

-TopicSuscriber






0 0
原创粉丝点击