`
zhaoshijie
  • 浏览: 2262729 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

JMS(Java Messaging Service)java消息服务 简介

    博客分类:
  • JMS
阅读更多
jms即Java消息服务(Java Message Service)应用程序接口是一个Java平台中关于面向消息中间件(MOM)的API,用于在两个应用程序之间,或分布式系统中发送消息,进行异步通信。Java消息服务是一个与具体平台无关的API,绝大多数MOM提供商都对JMS提供支持。jms同时也可以指Journal of Marketing Science,《营销科学学报》的简称。此外,佳木斯、姐妹们的拼音缩写也是jms。


目录

定义
简介
历史
体系架构
JMS模型
传递消息方式
JMS应用程序接口ConnectionFactory 接口(连接工厂)
Connection 接口(连接)
Destination 接口(目标)
MessageConsumer 接口(消息消费者)
MessageProducer 接口(消息生产者)
Message 接口(消息)
Session 接口(会话)
JMS提供者实现
营销科学学报图书信息
内容简介
图书目录
其他缩写
网络用语定义
简介
历史
体系架构
JMS模型
传递消息方式
JMS应用程序接口 ConnectionFactory 接口(连接工厂)
Connection 接口(连接)
Destination 接口(目标)
MessageConsumer 接口(消息消费者)
MessageProducer 接口(消息生产者)
Message 接口(消息)
Session 接口(会话)
JMS提供者实现
营销科学学报
图书信息 内容简介 图书目录其他缩写网络用语展开 编辑本段定义
    JMS
JMS(Java Messaging Service)是Java平台上有关面向消息中间件的技术规范,它便于消息系统中的Java应用程序进行消息交换,并且通过提供标准的产生、发送、接收消息的接口简化企业应用的开发,翻译为Java消息服务。
编辑本段简介
  JMS是一种与厂商无关的 API,用来访问消息收发系统。它类似于 JDBC(Java Database Connectivity):这里,JDBC 是可以用来访问许多不同关系数据库的 API,而 JMS 则提供同样与厂商无关的访问方法,以访问消息收发服务。许多厂商目前都支持 JMS,包括 IBM 的 MQSeries、BEA的 Weblogic JMS service和 Progress 的 SonicMQ,这只是几个例子。 JMS 使您能够通过消息收发服务(有时称为消息中介程序或路由器)从一个 JMS 客户机向另一个 JML 客户机发送消息。消息是 JMS 中的一种类型对象,由两部分组成:报头和消息主体。报头由路由信息以及有关该消息的元数据组成。消息主体则携带着应用程序的数据或有效负载。根据有效负载的类型来划分,可以将消息分为几种类型,它们分别携带:简单文本 (TextMessage)、可序列化的对象 (ObjectMessage)、属性集合 (MapMessage)、字节流 (BytesMessage)、原始值流 (StreamMessage),还有无有效负载的消息 (Message)。
编辑本段历史
  Java消息服务是一个在 Java标准化组织(JCP)内开发的标准(代号JSR 914)。2001年6月25日,Java消息服务发布JMS 1.0.2b,2002年3月18日Java消息服务发布 1.1,统一了消息域。
编辑本段体系架构
  JMS有以下元素组成。   JMS提供者   连接面向消息中间件的,JMS接口的一个实现。提供者可以是Java平台的JMS实现,也可以是非Java平台的面向消息中间件的适配器。   JMS客户   生产或消费消息的基于Java的应用程序或对象。   JMS生产者   创建并发送消息的JMS客户。   JMS消费者   接收消息的JMS客户。   JMS消息   包括可以在JMS客户之间传递的数据的对象   JMS队列   一个容纳那些被发送的等待阅读的消息的区域。队列暗示,这些消息将按照顺序发送。一旦一个消息被阅读,该消息将被从队列中移走。   JMS主题   一种支持发送消息给多个订阅者的机制。
编辑本段JMS模型
  Java消息服务应用程序结构支持两种模型:   点对点或队列模型   发布者/订阅者模型   在点对点或队列模型下,一个生产者向一个特定的队列发布消息,一个消费者从该队列中读取消息。这里,生产者知道消费者的队列,并直接将消息发送到消费者的队列。这种模式被概括为:   只有一个消费者将获得消息   生产者不需要在接收者消费该消息期间处于运行状态,接收者也同样不需要在消息发送时处于运行状态。   每一个成功处理的消息都由接收者签收   发布者/订阅者模型支持向一个特定的消息主题发布消息。0或多个订阅者可能对接收来自特定消息主题的消息感兴趣。在这种模型下,发布者和订阅者彼此不知道对方。这种模式好比是匿名公告板。这种模式被概括为:   多个消费者可以获得消息   在发布者和订阅者之间存在时间依赖性。发布者需要建立一个订阅(subscription),以便客户能够购订阅。订阅者必须保持持续的活动状态以接收消息,除非订阅者建立了持久的订阅。在那种情况下,在订阅者未连接时发布的消息将在订阅者重新连接时重新发布。   使用Java语言,JMS提供了将应用与提供数据的传输层相分离的方式。同一组Java类可以通过JNDI中关于提供者的信息,连接不同的JMS提供者。这一组类首先使用一个连接工厂以连接到队列或主题,然后发送或发布消息。在接收端,客户接收或订阅这些消息。
编辑本段传递消息方式
  JMS现在有两种传递消息的方式。标记为NON_PERSISTENT的消息最多投递一次,而标记为PERSISTENT的消息将使用暂存后再转送的机理投递。如果一个JMS服务离线,那么持久性消息不会丢失但是得等到这个服务恢复联机时才会被传递。所以默认的消息传递方式是非持久性的。即使使用非持久性消息可能降低内务和需要的存储器,并且这种传递方式只有当你不需要接收所有的消息时才使用。   虽然JMS规范并不需要JMS供应商实现消息的优先级路线,但是它需要递送加快的消息优先于普通级别的消息。JMS定义了从0到9的优先级路线级别,0是最低的优先级而9则是最高的。更特殊的是0到4是正常优先级的变化幅度,而5到9是加快的优先级的变化幅度。举例来说: topicPublisher.publish (message, DeliveryMode.PERSISTENT, 8, 10000); //Pub-Sub 或 queueSender.send(message,DeliveryMode.PERSISTENT, 8, 10000);//P2P 这个代码片断,有两种消息模型,映射递送方式是持久的,优先级为加快型,生存周期是10000 (以毫秒度量 )。如果生存周期设置为零,这则消息将永远不会过期。当消息需要时间限制否则将使其无效时,设置生存周期是有用的。   JMS定义了五种不同的消息正文格式,以及调用的消息类型,允许你发送并接收以一些不同形式的数据,提供现有消息格式的一些级别的兼容性。   · StreamMessage -- Java原始值的数据流   · MapMessage--一套名称-值对   · TextMessage--一个字符串对象   · ObjectMessage--一个序列化的 Java对象   · BytesMessage--一个未解释字节的数据流
编辑本段JMS应用程序接口
ConnectionFactory 接口(连接工厂)
  用户用来创建到JMS提供者的连接的被管对象。JMS客户通过可移植的接口访问连接,这样当下层的实现改变时,代码不需要进行修改。 管理员在JNDI名字空间中配置连接工厂,这样,JMS客户才能够查找到它们。根据消息类型的不同,用户将使用队列连接工厂,或者主题连接工厂。
Connection 接口(连接)
  连接代表了应用程序和消息服务器之间的通信链路。在获得了连接工厂后,就可以创建一个与JMS提供者的连接。根据不同的连接类型,连接允许用户创建会话,以发送和接收队列和主题到目标。
Destination 接口(目标)
  目标是一个包装了消息目标标识符的被管对象,消息目标是指消息发布和接收的地点,或者是队列,或者是主题。JMS管理员创建这些对象,然后用户通过JNDI发现它们。和连接工厂一样,管理员可以创建两种类型的目标,点对点模型的队列,以及发布者/订阅者模型的主题。
MessageConsumer 接口(消息消费者)
  由会话创建的对象,用于接收发送到目标的消息。消费者可以同步地(阻塞模式),或异步(非阻塞)接收队列和主题类型的消息。
MessageProducer 接口(消息生产者)
  由会话创建的对象,用于发送消息到目标。用户可以创建某个目标的发送者,也可以创建一个通用的发送者,在发送消息时指定目标。
Message 接口(消息)
  是在消费者和生产者之间传送的对象,也就是说从一个应用程序创送到另一个应用程序。一个消息有三个主要部分:   消息头(必须):包含用于识别和为消息寻找路由的操作设置。   一组消息属性(可选):包含额外的属性,支持其他提供者和用户的兼容。可以创建定制的字段和过滤器(消息选择器)。   一个消息体(可选):允许用户创建五种类型的消息(文本消息,映射消息,字节消息,流消息和对象消息)。   消息接口非常灵活,并提供了许多方式来定制消息的内容。
Session 接口(会话)
  表示一个单线程的上下文,用于发送和接收消息。由于会话是单线程的,所以消息是连续的,就是说消息是按照发送的顺序一个一个接收的。会话的好处是它支持事务。如果用户选择了事务支持,会话上下文将保存一组消息,直到事务被提交才发送这些消息。在提交事务之前,用户可以使用回滚操作取消这些消息。一个会话允许用户创建消息生产者来发送消息,创建消息消费者来接收消息。
编辑本段JMS提供者实现
    JMS流程图
要使用Java消息服务,你必须要有一个JMS提供者,管理会话和队列。现在既有开源的提供者也有专有的提供者。   开源的提供者包括:   Apache ActiveMQ   JBoss 社区所研发的 HornetQ   Joram   Coridan的MantaRay   The OpenJMS Group的OpenJMS   专有的提供者包括:   BEA的BEA WebLogic Server JMS   TIBCO Software的EMS   GigaSpaces Technologies的GigaSpaces   Softwired 2006的iBus   IONA Technologies的IONA JMS   SeeBeyond的IQManager(2005年8月被Sun Microsystems并购)   webMethods的JMS+ -   my-channels的Nirvana   Sonic Software的SonicMQ   SwiftMQ的SwiftMQ   IBM的WebSphere MQ
编辑本段营销科学学报
  JMS(Journal of Marketing Science),即《营销科学学报》的简称。
图书信息
  书 名: 营销科学学报   作 者:清华大学经济管理学院,北京大学光华管理学院编   出版社: 清华大学出版社   出版时间: 2009-2-1   ISBN: 9787302195399   开本: 16开   定价: 30.00元
内容简介
  1.2008JMS中国营销科学学术年会于10月18日至19日在西安交通大学成功召开。该次年会的主题是“中国营销创新:变革与发展”。该次年会共收到学术论文263篇,其中在会议上宣讲了论文99篇。在该次年会上,共评出优秀论文10篇。   2.2008JMS中国营销科学博士生学术论坛于2008年10月17日在西安交通大学成功举行。在该次论坛上,由中山大学博士生陈增祥提交的论文“不同公司信息对产品组合评价的非对称效应——高、低可接近性情形下的对比”获得一等奖及一万元奖金;由武汉大学博士生王峰提交的论文“新产品上市前的口传信息能否预测上市后的命运——以电影市场为例”,以及由西安交通大学博士生张磊楠提交的论文“不同关系满意水平下的控制机制差异性研究”分别获得二等奖及五千元奖金。此外,在该次论坛上还公布了获得2009博士生研究基金的人员名单;他们是武汉大学的李小玲、郭锐,吉林大学的袁平,以及大连理工大学的张瑞雪,他们分别获得五千元研究经费。   3.《营销科学学报》第二届理事会第二次会议于2008年10月18日在西安交通大学举行。该次会议重点讨论了《营销科学学报》的刊号和进入SSCI检索的问题,并通过投票表决确定了2009JMS中国营销科学学术年会将由南开大学国际商学院和天津大学管理学院联合承办,并恢复厦门大学管理学院为《营销科学学报》理事单位。   4.《营销科学学报》第二届编委会第二次会议于2008年10月18日在西安交通大学举行。该次会议讨论了中国营销科学学术年会论文及博士基金评审规则,并经投票表决,同意吸纳方向和朱瑞加入《营销科学学报》第二届编委会。
图书目录
  产品危机中口碑方向对消费者态度的影响   犯错品牌的投入对消费者再续关系意愿的影响   服务失败下不同类型消极情绪对顾客抱怨意向的影响   网上口碑的信息效价与情感线索对说服效果的影响机制研究   消费者对网络评论信息的可信性评价——网站主导者、专业性及产品类别的影响   基于顾客价格容忍度的中介变量模型及实证研究   销售人员对于灰色营销的道德评价和行为倾向:买方的影响   不同的因特网用途对企业选择外国市场进入模式的影响   渠道关系中专项投资研究综述
编辑本段其他缩写
  JMS = Jia Mu Si,佳木斯,黑龙江省佳木斯市。   JMS = JieMei s,姐妹们。   JMS = 詹姆斯。 勒布朗·詹姆斯。美国职业篮球运动员,现效力NBA联盟克里夫兰骑士队,司职小前锋,亦可出任控球后卫。
编辑本段网络用语
  JMS=姐妹们    "JM"就是姐妹,“S”是就英文里复数的"s"
分享到:
评论

相关推荐

    基于JMS(Java Messaging Service)开发JAVAMAIL详解

    JMS,全称为Java Messaging Service,是Java平台上的标准接口,用于在分布式环境中交换异步消息。它提供了一种可靠的、高效的消息传递机制,使得应用程序可以发送和接收消息,而无需两者同时在线。JMS支持两种主要的...

    JMS(Java Massage Service)与MDB(Massage Driver Bean)

    Java Messaging Service(JMS)是Java平台上的一个标准接口,用于应用程序之间的异步消息传递。它提供了一种标准化的方式来创建、发送、接收和读取消息,从而允许不同的应用系统之间进行通信。JMS的核心概念包括消息...

    simple-jms-example:Java Messaging Service示例

    简单的Java消息服务示例我发现JMS入门有点复杂。 甚至O'Reilly的“ Java Messaging Service”之类的好书也没有提供完整的项目示例。 在这里,我提供了第2章中的聊天示例,其中包含完整的构建系统和说明。建造生成...

    Java 如何使用AMQP协议订阅启用Partition 的Azure ServiceBus Topic1

    Azure Service Bus Topic 是一种基于云的消息队列服务,允许应用程序发送和接收消息。Topic 是一种 Pub/Sub 模式的消息队列, publisher 将消息发送到 Topic,然后订阅者可以从 Topic 中接收消息。 什么是 AMQP ...

    消息中间件和JMS消息服务.pdf

    为了解决这一挑战,Java Messaging Service (JMS) 规范被提出。 #### 三、Java Messaging Service (JMS) JMS是由Sun Microsystems提出的规范,旨在统一各种消息中间件系统的接口,以促进不同系统之间的互操作性和...

    amazon-sqs-java-messaging-lib:此 Amazon SQS Java 消息传递库包含 Java 消息服务兼容类,用于与 Amazon Simple Queue Service 通信

    Amazon SQS Java Messaging Library包含 Java Message Service 兼容类,用于与 Amazon Simple Queue Service 进行通信。 该项目构建在适用于 Java 的 AWS 开发工具包之上,以使用 Amazon SQS 作为消息传递应用程序的...

    JMS 简介以及Weblogic配置JMS图解

    Java Messaging Service(JMS)是一种标准的API,用于在Java应用程序之间交换消息,特别是在分布式环境中。JMS提供了一种与平台无关的方式,使得应用程序可以与各种消息中间件提供商进行交互,就像JDBC允许Java应用...

    jms简介.pdf

    JMS(Java Message Service)是一套由Sun Microsystems及其合作伙伴共同制定的Java API标准,旨在为Java应用程序提供创建、发送、接收及读取消息的服务。JMS类似于JDBC(Java Database Connectivity),它提供了一个...

    Java Message Service Version 2.0

    JMS provides a common way for both Java client applications and Java middle-tier services to use these messaging products. It defines some messaging semantics and a corresponding set of Java ...

    Spring整合Blazeds实现ActiveMQ JMS消息服务

    标题中的“Spring整合Blazeds实现ActiveMQ JMS消息服务”指的是在Java应用程序中使用Spring框架与Blazeds(一个Flex和Java之间的消息传递中间件)集成,通过ActiveMQ(一个流行的开源JMS提供商)来实现消息队列服务...

    Java Message Service

    它可以是任何类型的Java应用,包括客户端应用、Web应用或其他Java服务。 **2. 消息消费者(Consumer)** 消息消费者是指接收消息的应用程序或组件。同样地,消息消费者也可以是任何类型的Java应用,它们通过订阅特定...

    jMS简介和解析.doc

    Java Messaging Service (JMS) 是Java平台上用于处理消息中间件技术规范的重要工具,它使得Java应用程序能够方便地进行消息交换。JMS通过提供统一的接口,简化了企业级应用的开发,让不同厂商的消息系统之间可以互通...

    消息分发器 、JAVA、消息处理框架

    在Java环境中,消息分发常常与Java消息服务(Java Message Service,JMS)和消息中间件如Apache ActiveMQ、RabbitMQ等关联。JMS提供了一组API,使得Java应用能创建、发送、接收和阅读消息。开发者可以通过实现JMS...

    mq、jms消息处理jar包

    在IT行业中,消息队列(Message Queue,MQ)和Java消息服务(Java Message Service,JMS)是两个关键的概念,特别是在构建分布式系统和实现异步通信时。IBM的MQ是业界广泛使用的消息中间件,而JMS是Java平台上的一个...

    C#JMS开发

    C# JMS(Java Message Service)开发主要涉及的是在.NET环境中使用C#语言与Java消息服务进行交互的技术。虽然JMS是为Java设计的,但通过适配器或开源库,C#开发者也能利用其功能,实现分布式系统中的异步通信和消息...

    JMS规范教程pdf

    JMS,即Java Message Service,是Java平台中的消息服务应用标准,允许应用程序组件通过Java消息服务进行通信。它为分布式系统提供了消息传递和消息排队的功能,支持点对点和发布/订阅两种模型,使得应用程序可以在...

    Java+EE+8+Application+Development-Packt+Publishing(2017).epub

    the Java API for JSON Processing (JSON-P), the new Java API for JSON Binding (JSON-B), the Java API for WebSocket, the Java Messaging Service (JMS) API 2.0, the Java API for XML Web Services (JAX-WS)...

    java消息推送

    2. Java消息服务(JMS): - JMS是Java平台中用于创建、发送、接收和读取消息的标准API。它定义了生产者、消费者和消息队列的概念,支持点对点和发布/订阅两种模式。在消息推送场景中,服务器作为生产者,客户端...

Global site tag (gtag.js) - Google Analytics