第二章 基于 JMS 的消息传送
2-1 Java 消息队列 JMS 整体设计结构
动力节点最新ActiveMQ视频
基本要素
- 生产者 producer
- 消费者 consumer
- 消息服务 broker 交互模型
2-2 JMS 两种消息传送模式
- 点对点( Point-to-Point):专门用于使用队列 Queue 传送消息;
- 发布/订阅(Publish/Subscribe):专门用于使用主题 Topic 传送消息。
基于队列 Queue 的点对点消息只能被一个消费者消费,如多个消费 者都注册到同一个消息队列上, 当生产者发送一条消息后, 而只有其 中一个消费者会接收到该消息,而不是所有消费者都能接收到该消息。
基于主题的发布与订阅消息能被多个消费者消费,生产者发送的消息,所有订阅了该 topic 的消费者都能接收到。
2-3 Java 消息队列 JMS API 总体概览
JMS API 概览
JMS API 可以分为3 个主要部分:
- 公共 API:可用于向一个队列或主题发送消息或从其中接收消息;
- 点对点 API:专门用于使用队列 Queue 传送消息;
- 发布/订阅 API:专门用于使用主题 Topic 传送消息。
JMS 公共 API
在 JMS 公共 API 内部, 和发送与接收消息有关的 JMS API 接口主要是:
- ConnectionFactory
- Connection
- Session
- Message
- Destination
- MessageProducer
- MessageConsumer
它们的关系是 :一旦有了ConnectionFactory ,就可以创建 Connection,一旦有了 Connection,就可以创建 Session,而一旦 有了 Session ,就可以创建 Message 、MessageProducer 和MessageConsumer。
JMS 点对点 API
点对点 (p2p) 消息传送模型 API 是指JMS API 之内基于队列 (Queue)的接口:
- QueueConnectionFactory
- QueueConnection
- QueueSession
- Message
- Queue
- QueueSender
- QueueReceiver
从接口的命名可以看出,大多数接口名称仅仅是在公共 API 接口名称 之前添加 Queue 一词。一般来说, 使用点对点消息传送模型的应用 程序将使用基于队列的 API,而不使用公共 API 。
JMS 发布/订阅 API
发布/订阅消息传送模型 API 是指JMS API 之内基于主题(Topic)的接口:</