JMS学习笔记

1、什么是JMS
  JMS指的是Java message service,是JEE技术开发规范的一个重要组成部分,它是一种企业消息处理的规范。它是解耦的,实现了消息生产者和消费者的隔离。

2、JMS的组成架构
  JMS服务器:服务器系统,一般商业应用服务器都可提供JMS服务器支持。
  JMS生产者:负责创建并发送消息的程序组件。
  JMS消费者:负责读取处理消息的程序组件。

3、主要JMS 消息机制模型:PTP和Pub-Sub
  点对点(PTP)模型:每一个消息传递给一个消费者,消息不会同时被多个消费者接收。如果消费者不在线,消息自动持久化(保存到数据库或文件),以保证消息不会丢失。
  发布/订阅(Pub-Sub)模型:每个消息发送到一个消息主题,该主题可以拥有多个订阅者,JMS系统负责将主题的副本分发给所有订阅者。
 
4、JMS version1.0.2两种模型的对象API
                PTP                           Pub-Sub
   连接工厂:    QueueConnectionFactory       TopicConnectionFactory
   JMS连接:     QueueConnection             TopicConnection
   消息会话:    QueueSession                TopicSession
   消息目的:    Queue                               Topic
   消息生产者:  QueueSender                 TopicPublisher
   消息消费者:  QueueReceiver               TopicSubscriber
   发送消息的方法:send(Message msg)            publsh(Message msg)
   接收消息的方法:receive()/receiveNoWait()       receive()/receiveNoWait()

5、JMS version1.1统一域模型API(适用于PTP和Pub-Sub)
   连接工厂:ConnectionFactory
   连接:Connection
   消息会话:Session
   消息目的:Destination
   消息生产者:MessageProducer
   消息消费者:MessageConsumer

6、JMS1.1消除了PTP、Pub-Sub的消息发送和接收步骤:

   消息发送步骤:

  (1)通过JNDI查找来获取JMS连接工厂
  (2)JMS连接工厂创建JMS连接
  (3)JMS连接创建JMS消息会话
  (4)JMS消息会话创建JMS消息生产者
  (5)JMS消息会话创建空的JMS消息
  (6)JMS消息调用自身的方法填充内容
  (7)通过JNDI查找获取JMS消息目的
  (8)消息生产者将消息发送到指定的JMS消息目的
  (9)关闭JMS资源

   消息同步接收步骤:

  (1)通过JNDI查找来获取JMS连接工厂
  (2)JMS连接工厂创建JMS连接
  (3)JMS连接创建JMS消息会话
  (4)通过JNDI查找获取JMS消息目的
  (5)JMS会话指定特定的JMS消息目的来创建一个JMS消息消费者
  (6)JMS消费者接收消息
  (7)关闭JMS资源
  注:异步接收使用消息监听器MessageListener。
7、其他
   消息的优先级设置、消息类型、消息确认的方式、消息选择器、消息的临时目的、事务性session、JTA全局事务、JMS服务器的异常监听和JMS集群这里不做概述。

你可能感兴趣的:(java,jms)