JMS学习3 - JMS API的编程模型

编程模型:
MS学习3 - JMS API的编程模型 - sun - 学无止境

1、受管对象 
JMS中有两种类型的受管对象: 
ConnectionFactory :用于创建到JMS提供商的底层消息系统的连接。 
Destination :由JMS客户端使用以指定正被发送的消息目标或正被接收的消息来源。 

2、连接 
连接也有两种形式,分别实现QueueConnection接口和TopicConnection接口。例如我们可以用J2EE平台的默认连接产生地创建连接。
QueueConnection  queueConnection = queueConnectionFactory.createQueueConnection();
TopicConnection  topicConnection = topicConnectionFactory.createTopicConnection();

3、会话 
会话的两种形式是分别实现了QueueSession接口和TopicSession接口。
用QueueConnection对象创建QueueSession会话,代码如下:
QueueSession  queueSession =  queueConnection.createQueueSession(true, 0);
用TopicConnection对象创建TopicSession会话,代码如下:
TopicSession topicSession = topicConnection.createTopicSession(false, Session.AUTO_ACKNOWLEDGE);

4、消息发生器 
PTP模型的消息发生器实现的是QueueSender接口,
Pub/Sub模型的消息发生器实现的是TopicPublisher接口 
代码如下:
QueueSender queueSender = queueSession.createSender(myQueue);
TopicPublisher topicPublisher = topicSession.createPublisher(myTopic);

5、消息处理器 
PTP模型的消息处理器实现的是QueueReceiver接口。
Pub/Sub模型的消息处理器实现的是TopicSubscriber接口。 

6消费者接收消息两种方式:
session.createConsumer()

1>、consumer.receive() 或 consumer.receive(int timeout)。
2>、注册一个MessageListener。



JMS接口描述

JMS 支持两种消息类型PTP 和Pub/Sub,分别称作:PTP Domain 和Pub/Sub Domain,这两种接口都继承统一的JMS Parent 接口,JMS 主要接口如下所示:

JMS Parent

PTP Domain

Pub/Sub Domain

ConnectionFactory

QueueConnectionFactory

TopicConnectionFactory

Connection

QueueConnection

TopicConnection

Destination

Queue

Topic

Session

QueueSession

TopicSession

MessageProducer

QueueSender

TopicPublisher

MessageConsumer

QueueReceiver

TopicSubscriber

以下是对这些接口的简单描述:

ConnectionFactory:连接工厂,JMS 用它创建连接

Connection:JMS 客户端到JMS Provider 的连接

Destination:消息的目的地

Session:一个发送或接收消息的线程

MessageProducer: 由Session 对象创建的用来发送消息的对象

MessageConsumer: 由Session 对象创建的用来接收消息的对象

1。1就直接使用顶级接口,queue/topic相关的接口是1.0遗留的

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值