JMS——架构

  • JMS 应用由以下部分组成:

1.JMS 客户端——发送和接收消息的Java 语言程序。

2.非 JMS 客户端——使用消息系统的本地客户端API 而不是JMS 的API,如果应用先

于JMS,那么它很可能既包含JMS 又包含非JMS 客户端。

3.消息——每个应用定义一系列的消息,这些消息用于在客户端之间交换信息。

4.JMS 提供商——它是一个消息系统,它实现了JMS 以及其他的完整消息产品所需要

的管理和控制功能。

5.被管理的对象——被管理的对象是预先配置好的 JMS 对象,它由管理员为客户端

使用而创建。

 

  • 两种消息风格

1.PTP 风格

2.Pub/Sub 消息风格

 

  • JMS接口
JMS 公共接口 PTP 专有接口 Pub/Sub 专有接口
ConnectionFactory QueueConnectionFactory TopicConnectionFactory
Connection QueueConnection TopicConnection
Destination Queue Topic
Session QueueSession TopicSession
MessageProducer QueueSender TopicPublisher
MessageConsumer

QueueReceiver

QueueBrowser

TopicConsumer

 

 

ConnectionFactory——客户端使用这个被管理对象来创建一个Connection。

Connection——一个到JMS 提高商的活动连接。

Destination——封装了消息目的地标识的被管理对象。

Session——一个用于发送和接收消息的单线程上下文。

MessageProducer——一个由Session 创建用于往目的地发送消息的对象。

MessageConsumer——一个由Session 创建用于接收发送到目的地的消息的对象。

 

  • 开发一个JMS客户端

典型的JMS 客户端执行下面的JMS 设置过程:

1.使用 JNDI 来发现ConnectionFactory 对象。

2.使用 JNDI 来发现一个或多个Desitination 对象。

3.使用 ConnectionFactory 来创建一个具有消息转发约束的JMS Connection。

4.使用 Connection 来创建一个或多个JMS Session。

5.使用 Session 和Destination 来创建需要的MessageProducer 和MessageConsumer。

6.告诉 Connection 开始转发消息。

此时,客户端有了生产和消费消息的基本的JMS 设置。

 

  • 多线程
JMS 对象 支持并发使用
Destination YES
ConnectionFactory YES
Connection YES
Session NO
MessageProducer NO
MessageConsumer NO

 

 

 

 

猜你喜欢

转载自endless.iteye.com/blog/1881777
jms
今日推荐