`

JMS学习笔记(三)

 
阅读更多

在这一节中,我着重介绍一下JMS1.1中的公共接口,以及该接口下的重要方法

ConnectionFactory

ConnectionFactory是一个可以从JNDI检索的受管理对象,它建立了到提供者的连接。它包含createConnection()方法,该方法返回了一个Connection对象。



Connection

Connection封装了一个连接到提供者的活动连接。它的一些方法包括:

  • createSession(boolean, int):返回一个Session对象。boolean参数指出Session是否被处理,int则指出确认模式
  • start():激活提供者发送消息。
  • stop():临时停止消息的发送,可以用start()重新开始发送。
  • close():关闭到提供者的连接,并释放以它的名义占用的所有资源。

Session

Session是用来发送和接收消息的单线程的上下文。它的一些方法包括:

  • createProducer(Destination):返回一个MessageProducer对象,向指定的Destination发送消息。
  • createConsumer(Destination):返回一个MessageConsumer对象来接收来自指定Destination的消息。
  • commit():提交当前事务的所有使用的或者产生的消息。
  • rollback():回滚当前事务所有使用的或者产生的消息。
  • create<MessageType>Message(...):一组返回<MessageType>Message的方法——例如,MapMessageTextMessage等。

Destination

Destination封装消息的目的地。它是一个从 JNDI 检索的受管理对象。


MessageProducer

MessageProducer用于发送消息。它的一些方法包括:

  • send(Message):发送指示的Message
  • setDeliveryMode(int):设置后续消息的发送模式,有效值为DeliveryMode.PERSISTENTDeliveryMode.NON_PERSISTENT
  • setPriority(int):设置后续发送消息的优先级,有效值为 0 9
  • setTimeToLive(long):设置后续发送消息失效前的持续时间,以毫秒计。

MessageConsumer

MessageConsumer被用来接收消息。它的一些方法包括:

  • receive():返回下一发到达的消息,该方法在消息可用之前会受到阻塞。
  • receive(long):接收在long毫秒内到达的下一个消息,如果在时间限制内没有消息到达,则该方法返回null
  • receiveNoWait:如果有一个消息立即可用,则接收下一个消息,如果没有消息可用,则该方法返回null
  • setMessageListener(MessageListener):设置MessageListenerMessageListener对象在消息到达时接收它们,也就是异步接收

MessageListener

MessageListener是有一个单一方法——onMessage(Message)——的接口,它提供了消息的异步接收和处理。

应该通过客户机类和该类使用setMessageListener(MessageListener)方法传递给MessageConsumer对象的实例来实现这个接口。在消息到达目的地时,用onMessage(Message)将它传递给对象。


对于之上的这些接口,都是JMS1.1中的重要接口以及其下的重要方法。

针对现在程序的开发现状,我们不可能做到发送方和接收方都要一直进行通信,换句话说,也就是接收方不一定要实时的接收消息。现在基于异步消息通讯的机制,才能适应企业级应用开发。所以,对于这些接口中真正实现的异步接口,最重要的就是MessageListener接口。

版权声明:本文为博主原创文章,未经博主允许不得转载。

分享到:
评论

相关推荐

    JMS学习笔记精心总结

    **JMS学习笔记精心总结** Java消息服务(Java Message Service,简称JMS)是Java平台中用于企业级应用间异步通信的一种标准接口。它允许应用程序创建、发送、接收和读取消息,使得应用程序能够在不直接连接的情况下...

    JMS学习笔记(一)——JMS简介安装ActiveMQ

    **JMS学习笔记(一)——JMS简介与ActiveMQ安装** Java消息服务(Java Message Service,简称JMS)是Java平台中用于企业级应用间异步通信的标准接口。它为应用程序提供了一种标准的方式,用来创建、发送、接收和读取...

    jms学习笔记jms学习笔记

    本文主要探讨的是消息中间件(Message-Oriented Middleware,简称MOM),特别是在Java消息服务(Java Message Service,JMS)的学习笔记。 JMS是Java平台上的一个标准API,用于在分布式环境中进行异步消息传递。它...

    JMS学习笔记

    **JMS学习笔记** Java消息服务(Java Message Service,简称JMS)是Java平台中用于在分布式环境中交换异步消息的标准API。它提供了一种可靠的消息传递机制,使得应用程序可以在不互相依赖的情况下进行通信,从而...

    JMS相关,教程,例子,学习笔记

    通过阅读**jms学习笔记.docx** 和 **JMS例子.docx**,你可以深入理解JMS的使用方式,获取实践经验。而 **JMS教程.pdf** 和 **基于XML和JMS的异构数据交换集成的研究.pdf** 则提供了理论基础和高级应用场景的讲解,有...

    ActiveMQ学习笔记(二) JMS与Spring

    在本篇ActiveMQ学习笔记中,我们将探讨JMS(Java Message Service)与Spring框架的集成。JMS是一种标准API,用于在分布式环境中进行异步消息传递,而Spring框架则为开发人员提供了强大的依赖注入和管理服务的能力。...

    RocketMQ学习笔记 1

    RocketMQ学习笔记 1是关于Apache RocketMQ的学习笔记,涵盖了RocketMQ的基本概念、架构、消息模型、Producer和Consumer的基本概念、JMS规范等知识点。 1. 消息模型 在RocketMQ中,消息模型是指消息的生产、存储和...

    JAVA学习笔记————————

    在深入探讨JAVA学习笔记之前,我们首先理解一下JAVA这一编程语言的重要性。JAVA,由Sun Microsystems公司(现已被Oracle收购)于1995年推出,是一种面向对象的、跨平台的编程语言,以其“一次编写,到处运行”的特性...

    active mq 学习笔记

    ### ActiveMQ学习笔记知识点梳理 #### 一、ActiveMQ简介 **定义:** - **ActiveMQ**是由Apache出品的一款功能强大的开源消息中间件。作为消息队列(Message Queue,简称MQ)的一种,它主要用来在分布式系统之间...

    javaEE学习笔记

    本学习笔记涵盖了JavaEE的核心技术,帮助学习者深入理解和掌握javaweb的各项技能。 1. **Servlet与JSP** - **Servlet**:Servlet是Java编写的服务器端程序,主要用于扩展服务器的功能。在JavaEE中,Servlet处理...

    JavaEE学习笔记

    ### JavaEE 学习笔记概览 #### 一、JavaEE 概念及发展历程 JavaEE(Java Platform, Enterprise Edition)是Sun Microsystems公司为简化企业级应用开发而提出的一套标准化平台,它提供了构建分布式系统的基本框架和...

    JBoss ESB 学习笔记

    ### JBoss ESB 学习笔记知识点概览 #### 一、搭建ESB开发环境 - **工具准备**: - Eclipse-JEE 3.5:集成开发环境,支持Java EE标准,适合企业级应用程序开发。 - jbossesb-server-4.7:JBoss ESB的具体版本,为...

    J2EE学习笔记 对学习非常有帮助

    **J2EE学习笔记概述** J2EE(Java 2 Platform, Enterprise Edition)是Java平台的一个版本,专门针对企业级应用开发。它提供了一个全面的框架来构建、部署和管理多层、分布式、跨平台的企业应用程序。J2EE学习笔记...

    j2ee学习笔记很好的

    【J2EE学习笔记概述】 J2EE,全称为Java 2 Platform, Enterprise Edition,是Java平台上用于构建企业级应用的框架。它提供了一个统一的标准和可扩展的平台,允许开发人员创建分布式、多层的企业应用程序。J2EE的...

    软件工程师学习笔记J2EE

    《软件工程师学习笔记J2EE》是一份针对Java企业级应用开发(J2EE)的详尽学习资源,对于想要深入理解和掌握J2EE技术体系的软件工程师来说,具有极高的参考价值。这份笔记不仅全面覆盖了J2EE的基础概念,还深入探讨了...

Global site tag (gtag.js) - Google Analytics