介绍
JMS就是用来发送和接收消息的java标准API.
JMS API 支持两种模式:
1.点对点模式(1)只有一个消息消费者将接受到消息。
(2)在消费者获取消息的时候消息生产者并不需要运行,同样对于生产者运行发送消息的时候消费者的状态跟生产者也不相干。
(3)每条被成功接收处理的消息都可以通过消费者进行反馈。
2.发表-订阅模式(1)对于同一条消息可以有多个消费者。
(2)在消息发表者和订阅者之间有时间依赖性,发表者需要按照一个顺序来制定签署同意订阅者来订阅消息,然后订阅者按照这个顺序去获取消息。订阅者应该按照顺序连续地被激活来接收消息,如果某消费者获取消息超时断掉的时候,这些消息会被保存起来直到订阅者再次重新连接上时发过去。
API
ConnectionFactory - 创建到消息生产者的连接工厂。
Connection - 创建一个在应用程序和消息服务器通信的连接。
Destination - 用来对消息目的地进行封装,这个消息目的地也就是定义消息将被发往哪里来进行消费,它可以是一个队列也可以是一个主题。
MessageConsumer - 消息消费者,包括从队列或者主题类型来接收同步(允许阻塞)或者异步(无阻塞)的消费者。
MessageListeners - 对于消息来说消息监听者扮演着异步事件处理者的角色,它是一个实现了消息监听者的对象。通过它的onMessage方法你可以定义当有消息到达时希望对之执行的动作。
MessageSelectors - 如果你的消息应用程序需要过滤它接收到的消息时你可以使用该类,它允许消息消费者指定自己感兴趣的消息,该类把过滤消息的工作交给消息生产者去做而不是交给消息应用程序去做。
Message - 从字面上理解,就是在生产者和消费者之间传输的消息,也可以指从应用程序到其它程序之间的消息。
一个消息包含以下部分:
消息头: 这个是必需的,里面定义了一些关于消息区分和路由的设置信息。
消息属性集: 这个是可选的,包含了支持与其他生产者和用户兼容的附加属性,它可以被用来创建自定义字段或者消息过滤器选择器。
消息体: 允许用户创建5种消息(文本消息,图消息,字节消息,流消息,对象消息).
异常处理 - 被JMS API方法抛出的异常均继承自顶级父类JMSException,捕获JMSException的catch块中提供对所有异常的一般处理.从JMSException类延伸出的异常有以下子类:
IllegalStateException
InvalidClientIDException
InvalidDestinationException
InvalidSelectorException
JMSSecurityException
MessageEOFException
MessageFormatException
MessageNotReadableException
MessageNotWriteableException
ResourceAllocationException
TransactionInProgressException
TransactionRolledBackException
分享到:
相关推荐
总结JMS(Java Message Service)是一种Java消息服务标准,用于在分布式环境中进行异步通信。它支持点对点和发布订阅两种消息模型,分别对应消息队列和主题。JMS客户端通过ConnectionFactory创建连接,Session进行...
本文旨在详细介绍JMS的核心概念、消息模型及编程模型,帮助读者深入理解JMS的工作原理及其应用场景。 #### 二、JMS基本概念 JMS是一种用于实现分布式系统中消息通信的标准或规范。其核心功能在于降低系统间的耦合...
本文将详细介绍如何在 Maximo 中配置 JMS,以便实现高效的系统间通信。 #### 二、配置前准备 在开始配置 JMS 之前,确保具备以下条件: 1. **熟悉 Oracle WebLogic Server 管理控制台**:配置 JMS 时需要用到 ...
提供的文档《JBOSST建立JMS应用实例.doc》应该详细介绍了整个配置和编程过程,包括步骤、示例代码和注意事项。建议仔细阅读,结合实际操作进行学习。 六、MyTestWeb项目 这个项目的名称可能是包含一个或多个演示JMS...
JMS(Java Message Service)是Java平台中关于面向消息中间件(MOM)的标准API,它允许应用程序组件生成、发送、接收和读取消息。它旨在促进分布式系统中的组件之间松散耦合、可靠且高效的信息交流。本文档旨在详细...
总结起来,JMS提供了一种标准化的方式来处理分布式系统中的消息通信,而ActiveMQ作为JMS消息代理,为开发者提供了可靠的、高性能的消息传递服务。了解和掌握JMS及ActiveMQ,对于构建可扩展的、健壮的企业级应用至关...
**JMS整合Spring实例** ...总结来说,整合JMS与Spring能让你在Java应用中轻松实现异步消息处理,提高系统的可扩展性和容错性。通过Spring的抽象和自动化配置,你可以更加专注于业务逻辑,而不是底层的消息传递细节。
总结,Spring整合JMS中的MessageConverter是实现数据在Java对象和JMS消息间转换的关键。正确地选择和配置MessageConverter,能有效提高系统通信的效率和灵活性,同时降低开发复杂度。在实际应用中,根据业务需求选择...
通过本文的介绍,我们了解了 JMS 的基本概念、通信模型以及关键组件的作用。掌握了这些基础知识,可以帮助开发者更好地理解和使用 JMS 进行企业级应用程序的开发。在未来的学习过程中,还可以进一步探索如何利用 JMS...
JMS(Java Message Service)是Java平台中关于面向消息中间件(MOM)的标准接口,它定义了一组API用于消息生产和消费。JMS提供了两种类型的消息模型:点对点(Point-to-Point)和发布/订阅(Publish-Subscribe)。 ...
Java消息服务(Java Message Service,简称JMS)是Java平台中的消息中间件规范,它允许应用程序组件通过异步通信来生产、发送、消费和接收消息。JMS提供了一种与具体实现无关的接口,使得开发人员能够编写出能够在...
1. **PPTX文件(activemq.pptx)** - 这通常是一个演示文稿,详细介绍了JMS和ActiveMQ的基础知识、工作原理以及如何使用它们。它可能包含概念解释、架构图、配置示例和使用步骤等内容,帮助学习者理解ActiveMQ的核心...
总结来说,本文介绍了如何使用Spring Boot集成JMS来发送不同格式的邮件,包括纯文本、HTML、图片和附件。通过配置邮件服务、创建邮件服务类、整合JMS模板以及创建生产者和消费者,我们可以构建一个高效、可扩展的...
7. 通过JavaJMS指定相应的结构数据消息订阅者(dev_aq_demo)和图片数据消息订阅者(file_aq_demo)将对应消息队列中的AQ消息出队,通过JPublisher转换的自定义载荷类型,解析为相应变更数据。 #### 五、总结 通过...