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

分布式-信息方式- JMS基本概念的更多相关文章

  1. 分布式-信息方式-JMS大纲

     一.简介 JMS即Java消息服务(Java Message Service)应用程序接口,是一个Java平台中关于面向消息中间件(MOM)的API,用于在两个应用程序之间,或分布式系统中发送消息, ...

  2. 分布式-信息方式-JMS Topic示例

                                                      Topic消息 非持久的 Topic消息示例对于非持久的 Topic消息的发送       基本跟前 ...

  3. 分布式-信息方式-JMS信息结构

    JMS的消息结构JMS消息由以下几部分组成:消息头,属性和消息体消息头包含消息的识别信息和路由信息,消息头包含一些标准的属性如下:1: JMSDestination:由send方法设置2: JMSDe ...

  4. 分布式-信息方式-JMS可靠性机制

                        JMS的可靠性机制1.消息接收确认        JMS消息只有在被确认之后,才认为已经被成功地消费了.消息的成功消费通常包含三个阶段:客户接收消息.客户处理消 ...

  5. 分布式-信息方式-JMS Queue示例

    代码 package test.mq.helloword; import javax.jms.Connection; import javax.jms.ConnectionFactory; impor ...

  6. 分布式-信息方式-ActiveMQ的Destination高级特性3

    虚拟destination用来创建逻辑destination,客户端可以通过它来生产和消费消息,它会把消息映射到物理destination. ActiveMQ支持2种方式: 1:虚拟主题(Virtua ...

  7. 分布式-信息方式-ActiveMQ的Destination高级特性1

    ActiveMQ的Destination高级特性 Destination高级特性----->Composite Destinations 组合队列Composite Destinations : ...

  8. 分布式-信息方式-ActiveMQ的集群

    ActiveMQ的集群Queue consumer clusters              ActiveMQ支持 Consumer对消息高可靠性的负载平衡消费,如果一个 Consumer死掉,该消 ...

  9. 分布式-信息方式-ActiveMQ静态网络连接的容错

    容错的链接Failover Protocol 前面讲述的都是client配置链接到指定的 broker上.但是,如果 Broker的链接失败怎么办呢?此时, Client有两个选项:要么立刻死掉,要么 ...

随机推荐

  1. CVE-2017-17558漏洞学习

    简介 这是USB core中的一个拒绝服务漏洞.带有精心设计的描述符的恶意USB设备可以通过在配置描述符中设置过高的bNumInterfaces值来导致内核访问未分配的内存.虽然在解析期间调整了该值, ...

  2. python词云生成-wordcloud库

    python词云生成-wordcloud库 全文转载于'https://www.cnblogs.com/nickchen121/p/11208274.html#autoid-0-0-0' 一.word ...

  3. 102、如何滚动更新 Service (Swarm09)

    参考https://www.cnblogs.com/CloudMan6/p/7988455.html   在前面的实验中,我们部署了多个副本的服务,本节将讨论如何滚动更新每一个副本.   滚动更新降低 ...

  4. java实现spark常用算子之groupbykey

    import org.apache.spark.SparkConf;import org.apache.spark.api.java.JavaPairRDD;import org.apache.spa ...

  5. Dubbo从入门到实战视频教程

    Dubbo是阿里巴巴公司开源的一个高性能优秀的服务框架,使得应用可通过高性能的 RPC 实现服务的输出和输入功能,可以和 Spring框架无缝集成.这里整理了一套关于dubbo的视频教程分享给大家,包 ...

  6. vue高亮一级、二级导航

    使用vue开发过程中有的项目会存在多级导航的情况,如下图,这种就存在了两层,那么该如何高亮一级导航,又该如何高亮二级导航这就是今天我要记录的内容. 1.高亮一级导航很简单,代码如下: // 点击一级导 ...

  7. python、mysql三-3:完整性约束

    一 介绍 约束条件与数据类型的宽度一样,都是可选参数 作用:用于保证数据的完整性和一致性主要分为: PRIMARY KEY (PK) 标识该字段为该表的主键,可以唯一的标识记录 FOREIGN KEY ...

  8. 11条sql技巧

    1. 负向条件查询不能使用索引 select * from order where status!=0 and stauts!=1 not in/not exists都不是好习惯 可以优化为in查询: ...

  9. 清北学堂提高组突破营考试T1

    题目如下: (想要作弊的后几届神仙们我劝你们还是别黈了,这个题如果你们不会只能证明你们上错班了). 好,题目看完了,发现是一道大模拟(%你)题,于是我们按照题目说的做: #include<ios ...

  10. 在table中加入<hr />标签为什么横线会跑到上边?

    这是我今天在写页面的时候发现的一个问题,万能的百度已经帮我找到答案啦!!!在此分享给你们吧 table>[caption|thead>tr|tbody>tr]>[th|td] ...