Sun Java System Message Queue 3.7 UR1 技术概述

JMS 消息传送对象和模式

为了发送或接收消息,JMS 客户端必须先连接到 JMS 提供者(该提供者通常作为消息代理实现):此连接在客户端与代理之间打开一个通信通道。接下来,客户端必须设置一个用来创建、生成和使用消息的会话。可以将该会话视为定义客户端与代理之间的特定对话的消息流。客户端本身就是消息生成方和/或消息使用方。消息生成方向代理所管理的目的地发送一条消息。消息使用方访问该目的地以使用此消息。该消息包括消息头、属性(可选)和主体。消息主体用来保存数据;消息头中包含代理路由和管理消息所需的信息;属性可以由客户端应用程序或提供者定义,以满足处理消息的需要。连接、会话、目的地、消息、生成方和使用方是构成 JMS 应用程序的基本对象。

通过这些基本对象,客户端应用程序可以两种消息传送模式(或域)发送和接收消息。图 1–4 对此进行了说明。

图 1–4 JMS 消息传送模式

图中显示了两个客户端:一个是使用队列发送消息的客户端;另一个是使用主题发送消息的客户端。该图用文本进行说明。

客户端 A 和 B 是消息生成方,它们通过两种不同类型的目的地向客户端 C、D 和 E 发送消息。

任何域中的消息使用方都可以选择同步或异步获取消息。同步使用方通过显式调用来检索消息;异步使用方则指定一个回调方法,将调用该回调方法来传递待处理的消息。使用方还可以通过为传入消息指定选择标准来过滤消息。