- 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 |