`
huangyongxing310
  • 浏览: 496034 次
  • 性别: Icon_minigender_1
  • 来自: 广州
文章分类
社区版块
存档分类
最新评论

深入浅出JMS

 
阅读更多
深入浅出JMS


1.JMS(JAVA Message Service,java消息服务)API是一个消息服务的标准或者说是规范,允许应用程序组件基于JavaEE平台创建、发送、接收和读取消息。
它使分布式通信耦合度更低,消息服务更加可靠以及异步性。
2.JMS是java的消息服务,JMS的客户端之间可以通过JMS服务进行异步的消息传输。
3.消息模型(Point-to-Point(P2P),Publish/Subscribe(Pub/Sub),即点对点和发布订阅模型)


Point-to-Point(P2P)



涉及到的概念
1.消息队列(Queue)
2.发送者(Sender)
3.接收者(Receiver)
4.每个消息都被发送到一个特定的队列,接收者从队列中获取消息。队列保留着消息,直到他们被消费或超时。


P2P的特点
1.每个消息只有一个消费者(Consumer)(即一旦被消费,消息就不再在消息队列中)
2.发送者和接收者之间在时间上没有依赖性,也就是说当发送者发送了消息之后,不管接收者有没有正在运行,它不会影响到消息被发送到队列
3.接收者在成功接收消息之后需向队列应答成功
4.如果你希望发送的每个消息都应该被成功处理的话,那么你需要P2P模式。



Publish/Subscribe(Pub/Sub)



涉及到的概念
1.主题(Topic)
2.发布者(Publisher)
3.订阅者(Subscriber)
4.客户端将消息发送到主题。多个发布者将消息发送到Topic,系统将这些消息传递给多个订阅者。


Pub/Sub的特点
1.每个消息可以有多个消费者
2.发布者和订阅者之间有时间上的依赖性。针对某个主题(Topic)的订阅者,它必须创建一个订阅者之后,才能消费发布者的消息,而且为了消费消息,订阅者必须保持运行的状态。
3.为了缓和这样严格的时间相关性,JMS允许订阅者创建一个可持久化的订阅。这样,即使订阅者没有被激活(运行),它也能接收到发布者的消息。
4.如果你希望发送的消息可以不被做任何处理、或者被一个消息者处理、或者可以被多个消费者处理的话,那么可以采用Pub/Sub模型



消息的消费
在JMS中,消息的产生和消息是异步的。对于消费来说,JMS的消息者可以通过两种方式来消费消息。
1.同步
订阅者或接收者调用receive方法来接收消息,receive方法在能够接收到消息之前(或超时之前)将一直阻塞
2.异步
订阅者或接收者可以注册为一个消息监听器。当消息到达之后,系统自动调用监听器的onMessage方法。



参考原文:http://blog.csdn.net/jiuqiyuliang/article/details/46701559
  • 大小: 32.9 KB
  • 大小: 38.9 KB
分享到:
评论

相关推荐

    深入浅出JMS-JMS介绍说明文档

    本文旨在详细介绍JMS的核心概念、消息模型及编程模型,帮助读者深入理解JMS的工作原理及其应用场景。 #### 二、JMS基本概念 JMS是一种用于实现分布式系统中消息通信的标准或规范。其核心功能在于降低系统间的耦合...

    ActiveMQ在JMS中的运用-深入浅出JMS

    **ActiveMQ在JMS中的应用——深入理解JMS** Java消息服务(Java Message Service,简称JMS)是一种标准API,用于在Java应用程序之间传递消息,它提供了一种解耦和异步处理数据的方式。JMS允许应用程序创建、发送、...

    深入浅出java

    《深入浅出Java》这本书以其独特的讲解方式,旨在让学习者轻松掌握复杂的Java编程语言。"深入浅出"这一理念,意味着作者通过直观、生动的示例和丰富的图解,帮助读者逐步理解Java的核心概念和技术。 Java是一种广泛...

    深入浅出JBoss_2BSeam

    《深入浅出JBoss_2BSeam》这本书聚焦于企业级Java应用服务器JBoss以及Seam框架的深度解析。JBoss是Red Hat公司开发的一个开源应用服务器,它基于Java EE(Enterprise Edition)标准,提供了丰富的功能和服务,支持...

    深入浅出WebService

    【深入浅出WebService】这篇文章是面向初学者的指南,旨在帮助读者理解并熟悉WebService的基本概念和技术。WebService是一种基于Web的服务,允许不同系统间通过网络进行通信和数据交换,以实现跨平台、跨语言的互...

    Spring深入浅出教程.doc

    本教程将深入浅出地介绍Spring的主要特性、基本实例以及如何搭建和测试环境。 1. 依赖注入与控制反转 依赖注入是Spring的核心机制,它允许在运行时由外部容器(如Spring的ApplicationContext)动态地向组件提供其...

    jee 入门(深入浅出学习JEE)

    【JEE入门(深入浅出学习JEE)】 Java企业版(Java Enterprise Edition,简称JEE),也称为Java EE,是Oracle公司推出的企业级应用程序开发平台。它为开发分布式、多层架构的Web应用程序提供了全面的框架和服务。JEE...

    jboss教程及深入浅出JBoss+Seam

    【JBoss教程及深入浅出JBoss+Seam】是一个针对企业级Java应用服务器JBoss的深度学习资源,其中包含了两个主要部分:JBoss教程和对JBoss与Seam框架结合使用的详细介绍。这两个主题都是Java开发人员在部署和管理企业...

    深入浅出学习Weblogic

    本学习资料旨在帮助初学者深入理解WebLogic的各项核心功能和使用技巧。 首先,我们要了解WebLogic Server的基础概念。WebLogic是一个基于Java的中间件,它提供了一个运行环境,使得开发者可以编写并运行Java EE应用...

    activemq中间件视频 jms规范

    总之,"activemq中间件视频 jms规范"这个教程将带领你全面了解ActiveMQ的使用方法和JMS规范的应用,无论你是初学者还是经验丰富的开发者,都能从中获益匪浅。通过学习,你将有能力构建出稳定、高效的分布式系统,并...

    java消息服务(第二版)+源码

    在“Java消息服务(第二版)”这本书中,作者深入浅出地介绍了JMS的概念、工作原理以及实际应用。 JMS的核心概念包括消息生产者、消息消费者和消息代理。消息生产者负责创建消息并将其发送到消息队列或主题,消息...

    J2EE架构师手册,架构师必备手册

    4. **JMS(Java Message Service)**:JMS是Java平台的消息中间件接口,用于在分布式环境中传递异步消息。通过消息队列,应用可以解耦发送方和接收方,提高系统的并发性和可靠性。 5. **JTA(Java Transaction API...

    java消息服务

    本书深入浅出地讲解了jms1.1规范的底层技术、java类和接口、编程模型及其不同实现等java消息服务(jms)和消息传送机制关键技术。通过对支持点对点和发布/订阅“消息传送”的标准api的完全解读及具体实例,介绍了...

    Jboss下开发ejb应用之一消息驱动bean的应用

    综上所述,这篇博客深入浅出地讲解了在Jboss环境下开发和使用消息驱动bean的过程,从理论到实践,包括JMS基础、MDB的创建、配置、测试和实际应用,对于想要学习和掌握EJB和JMS的开发者来说是一份宝贵的资源。...

    深入Spring2-轻量级J2EE开发框架原理与实践

    总之,《深入Spring2:轻量级J2EE开发框架原理与实践》是一本深入浅出的Spring学习资料,适合希望掌握Spring框架的开发者阅读。通过这本书,读者不仅可以了解Spring2的核心理念,还能学习到如何将这些理念转化为实践...

    JavaCAPSBasics_Part_II_Examples.pdf

    《JavaCAPSBasics_Part_II_Examples.pdf》是一本详细介绍JavaCAPS(Java Common Application Platform Services)的书籍,该书通过丰富的实例深入浅出地介绍了如何利用JavaCAPS实现企业应用集成(Enterprise ...

    Java企业级应用程序开发指南

    这本书深入浅出地讲解了Java在企业级应用中的核心概念和技术,通过丰富的实例帮助读者理解和掌握相关知识。 首先,"06_whatareservlets"章节介绍了Servlets,这是Java Web开发中的关键组件。Servlet是运行在服务器...

    实战J2EE与WebLogic Server应用开发

    总的来说,《实战J2EE与WebLogic Server应用开发》是一本深入浅出的指南,适合有Java基础,希望进一步了解和掌握J2EE开发及WebLogic Server应用的读者。通过阅读本书,读者不仅可以理解J2EE的架构和WebLogic Server...

    ActiveMQ in action

    **ActiveMQ in Action** 是一本专门探讨Apache ActiveMQ的实用指南,它深入浅出地介绍了如何在实际环境中部署和管理消息中间件。ActiveMQ是Apache软件基金会开发的一个开源消息代理,它遵循Java消息服务(JMS)规范...

Global site tag (gtag.js) - Google Analytics