JMS基本概念

■JMs是什么
          JMS Java Messag/ Servite,Java消息服务,是 Java EE中的一个技术
■JMs规范
         JMS定义a和访问消息中间件的接口,并没有给实现,实现]s接口的消息
中间件称为JMS Provider。例如ActiveMQ

JMS provider: 实现jms接口和规范的信息中间件

JMS message :jms的信息,jms信息有三部分组成
    1:消息头:每个消息头字段部有相应的getter和 serter:方法
    2:消息属性:如果需要除消息头字段以的值,那么以使用消息属性
    3:消息体:封装具体的消息数据
JMs producer:消息生产者,创速和发送M消息的客户端应用
JMS consumer:消息消费者,接收和处理W消息的客户端应用
      消息的消费可以采用以下两种方法之一:
             1:同步消费:通过调用消费者的 receive方法从目的地中显式提取消息, receive方法可
                以一直阻塞到消息到达。
             2:异步消费:客户可以为消费者注册一个消息监听器,以定义在信息到达时所采取动作

JMS domains:消息传递域,JMs规范中定义了两种消息传递域:点对点( point-to-
point,简写成PTP)消息传递域和发布/订阅消息传递域( publish/ subscribe,简写
成pub/sub)
1:点对点消息传递域的特点如下:
        (1)每个消息只能有一个消费者
        (2)消息的生产者和消费者之间没有时间上的相关性。无论消费者在生产者发送消
            息的时候是否处于运行状态,它都可以提取消息

2:发布/订阅消息传递域的特点如下
              (1)每个消息可以有多个消费者
              (2)生产者和消费者之间有时间上的相关性。订阅一个主题的消费者只能消费自它
              订阅之后发布的消息。JMs规范允许客户创建持久订阅,这在一定程度上放松了时
              上的相关性要求。持久订阅允许消费者消费它在未处于激活状态时发送的消息
3:在点对点消息传递域中,目的地被称为队列( queue);在发布/订阅消息传递域中,
目的地被称为主题( topic)

Connection factory:连接工厂,用来创建连接对象,以连接到JMS的 provider
JMS Connection:封装了客户与JMS提供者之间的一个虚拟的连接
JMS Session:是产和消费消息的一个单线程上下文
     会话用于创建消息生产者(preduce)、消息消费者( consumer)和消息
     ( message)等。会话提供了一个事务性的上下文,在这个上:下文中,一组发送
     和接收被组合到了一个原子操作中。
Destination:消息发送到的日的地
Acknowledge:签收
Transaction:事务
JMS client:用来收发消息的Java应用
       Non- JMS client:使用JM5 provider本地API写j的应用,用来替换 JMS API实现收
       发消息的功能,通常会提供其他的一些特寺性,比如: CORBA、RMI等。
        Administered objects:预定义的JM对象,通常在 provide规范中有定义,提
       供给JM客厂广「来访问,比如: ConnectionFactory和 dEstination

最新文章

  1. js 中{},[]中括号,大括号使用详解
  2. transition第一次没有效果
  3. 安装repcached,并且测试其双向复制是否成功
  4. java io系列06之 序列化总结(Serializable 和 Externalizable)
  5. 【读书笔记】iOS-安全地传输用户密码的方法
  6. Segment Tree Modify
  7. sqlite数据库执行full outer join
  8. WordLight: highlights all occurrences of a selected text for VS2008
  9. 在.net MVC中异步上传图片或者文件
  10. homebrew介绍
  11. 字符串查找算法总结(暴力匹配、KMP 算法、Boyer-Moore 算法和 Sunday 算法)
  12. ssh连接异常:read from socket failed connection reset by peer
  13. LinuxRPM包安装
  14. Linux配置环境变量
  15. Day033--Python--进程
  16. 基于Ardalis.GuardClauses守卫组件的拓展
  17. Linux实现VLAN
  18. Redmine开源项目管理搭建
  19. React server rendering —— 网易美学主站同构实录
  20. Effective C++(10) 重载赋值操作符时,返回该对象的引用(retrun *this)

热门文章

  1. 实现一台Linux电脑连接另一台Linux(SSH实现linux之间的免密码登陆)
  2. spark教程(14)-共享变量
  3. SG函数和SG定理(Sprague_Grundy)
  4. 网络信息统计netstat|ss|ip
  5. markdown图片转换demo
  6. RSA 加密长度计算公式
  7. FTP服务器上传,下载文件
  8. vue中v-if和v-for优先级
  9. 为什么wamp 放两个网站 或者多个网站就很卡很慢,问题在这里
  10. nginx学习第三章