ActiveMQ基本介绍
1、ActiveMQ服务器工作模型
通过 ActiveMQ消息服务交换消息。消息生产者将消息发送至消息服
务,消息消费者则从消息服务接收这些消息。这些消息传送操作是使用
一组实现 ActiveMQ 应用编程接口 (API) 的对象来执行的。
ActiveMQ 客户端使用 ConnectionFactory 对象创建一个连接,向消
息服务发送消息以及从消息服务接收消息均是通过此连接来进行。
Connection 是客户端与消息服务的活动连接。创建连接时,将分配通信
资源以及验证客户端。这是一个相当重要的对象,大多数客户端均使用
一个连接来进行所有的消息传送。 连接用于创建会话。 Session 是一个
用于生成和使用消息的单线程上下文。它用于创建发送的生产者和接收
消息的消费者,并为所发送的消息定义发送顺序。会话通过大量确认选
项或通过事务来支持可靠传送。 客户端使用 MessageProducer 向指定
的物理目标(在 API 中表示为目标身份对象)发送消息。生产者可指定
一个默认传送模式(持久性消息与非持久性消息)、优先级和有效期
值,以控制生产者向物理目标发送的所有消息。
同样,客户端使用 MessageConsumer 对象从指定的物理目标(在 API
中表示为目标对象)接收消息。消费者可使用消息选择器,借助它,消
息服务可以只向消费者发送与选择标准匹配的那些消息。 消费者可以
支持同步或异步消息接收。异步使用可通过向消费者注册
MessageListener 来实现。当会话线程调用 MessageListener 对象的
onMessage 方法时,客户端将使用消息。
2、ActiveMQ消息传送模型
ActiveMQ 支持两种截然不同的消息传送模型: PTP(即点对点模型)和
Pub/Sub(即发布 /订阅模型),分别称作: PTP Domain 和Pub/Sub
Domain。
PTP(使用 Queue 即队列目标) 消息从一个生产者传送至一个消费者。
在此传送模型中,目标是一个队列。消息首先被传送至队列目标,然后
根据队列传送策略,从该队列将消息传送至向此队列进行注册的某一个
消费者,一次只传送一条消息。可
消息/传送/目标/发送/消费者/对象/服务/MQ/Active/模型/
消息/传送/目标/发送/消费者/对象/服务/MQ/Active/模型/
-->