`
StartNowFly
  • 浏览: 658 次
  • 性别: Icon_minigender_2
  • 来自: 杭州
最近访客 更多访客>>
文章分类
社区版块
存档分类
最新评论

JMS编程模式

阅读更多
JMS编程模式
消息形式:
点对点为两个客户之间建立消息队列,使两个客户端之间通过队列实现点对点的消息传递
注:类似数据结构里的队列,先进先出
主题消息,在消息中间件上建立一个主题,没个客户端都可已向这个主题发送消息,接受消息

注:类似广播的方式

开发流程:




使用JMS步骤

1.创建一个JNDI上下文

Context  init initCtx =new InitialContext(env);

2.查找创建JMS连接使用的工厂类(Connnect Factory)

对于主题消息:

Object tmp=initCtx.lookup(“Connnect Factory”);

TopicConnectionFactory tcf=( TopicConnectionFactory) tmp;

对于点对点消息:

Object tmp=initCtx.lookup(“Connnect Factory”);

QueueConnectionFactory tcf=( QueueConnectionFactory) tmp;

3.查找JMS的目标对象(Destination)

对于主题消息:

Topic topic=(Topic)iniCtx.lookup(“topic/testTopic”);

对于点对点消息:

Queue queue (Queue)iniCtx.lookup(“queue /A”);

4.创建JMS连接(Connection)

对于主题消息:

TopicConnection conn=tcp.createTopicConnection();

对于点对点消息:

QueueConnection conn=tcp.createQueueConnection ();

5.创建JMS会话(session)

对于主题消息:

TopicSession session=conn.createTopicSession(fasle,Session.AUTO_ACKNOWLEDGE);

对于点对点消息:

QueueSession session= conn.createQueueSession(true,0);

6.创建消息的生产和消费者

生产者:

对于主题消息:

TopicPublisher publisher=session.createPublisher(topic);

对于点对点消息:

QueueSender sender = session.createSender (queue);

消费者:

对于主题消息:

TopicSubscriber subscriber=session.createSubscriber (topic);

对于点对点消息:

QueueReceiver receiver= session.createReceiver (queue);

7.注册消息的监听者

对于主题消息:

TextListener listener=new TextListener();

subscriber.setMessageListener(listener);

对于点对点消息:

TextListener listener=new TextListener();

receiver.setMessageListener(listener);

8.开始JMS的连接

   conn.start();

9.发送和接受消息

发送消息:

对于主题消息:

publisher.publish(message);

对于点对点消息:

sender.send(message);

接受消息:

对于主题消息:

Message msg= subscriber.receive();

对于点对点消息:

Message msg= receiver.receive(1000);

10.停止和关闭JMS连接

conn.stop();

session.close();

conn.close();

分享到:
评论

相关推荐

    Java网络编程--基于Spring的JMS编程

    文件"基于Spring的JMS编程-1"可能包含了关于如何在Spring环境中配置和使用JMS的详细步骤,包括XML配置、代码示例以及可能的实战项目案例。进一步学习这些内容,你将能够熟练掌握Spring框架下的JMS编程技巧,从而在...

    基于Jboss的jms编程

    【基于Jboss的JMS编程】是关于Java消息服务(JMS)在Jboss应用服务器上的实现和配置的教程,适合初学者理解JMS的基本概念和应用。JMS是一种标准API,用于在分布式环境中发送、接收和管理消息,提供可靠的数据传输。 ...

    [JAVA编程模式与范例].zip

    【JAVA编程模式与范例】这个压缩包文件主要聚焦于Java编程中的设计模式和实例应用。设计模式是软件工程中经过实践验证的、在特定场景下解决常见问题的有效方法,而Java作为广泛应用的面向对象编程语言,其设计模式的...

    JMS IBM MQ 订阅模式

    **JMS IBM MQ 订阅模式详解** Java Message Service(JMS)是一种API,它为在分布式环境中进行异步通信提供了标准接口。IBM MQ是IBM提供的一个消息中间件产品,它支持多种消息传递模型,包括点对点和发布/订阅模型...

    JMS 简单使用指南

    3. **JMS编程接口**: - **Message对象**:包含消息头、属性和消息体三部分。消息头是必需的,包含如目的地、递送模式、消息ID等字段。属性和消息体是可选的,属性用于消息过滤,消息体用于承载实际数据。 - **...

    JMS--J2EE培训材料

    JMS编程模型包括了创建连接、创建会话、创建消息生产者和消费者等步骤。以下是一个典型的JMS程序开发流程: 1. **通过JNDI查询ConnectionFactory和Destination**:首先通过Java Naming and Directory Interface ...

    JMS-详细教程.pdf

    ### JMS(Java消息服务)详细教程知识点梳理 #### 一、MQ与J2EE API...以上是对JMS及其与J2EE API之间关系的详细解析,以及JMS编程模型的关键概念和技术要点。希望这些内容能够帮助您更好地理解和掌握JMS的相关知识。

    JMS经典实例 基于weblogic

    编程模型需要在代码中显式创建和管理JMS资源,而声明式模型通过WebLogic管理控制台或XML配置文件完成资源配置。 例如,一个简单的JMS生产者可能会创建一个消息,然后通过连接工厂和指定的队列发送出去。消费者则会...

    Websphere MQ资料集合(包含精通mq、mq java编程、mq编程模式、mq for linux等)

    5. **MQ编程模式**:探索各种MQ编程模式,如同步和异步消息处理,以及如何设计高效、健壮的MQ应用。 6. **故障排查与性能优化**:学习如何诊断MQ相关的问题,以及如何调整MQ配置以提高性能和可扩展性。 7. **安全...

    ActiveMQ 中javax.jms的源码 javax.jms-sources-1.1.zip

    《深入解析ActiveMQ中的javax.jms源码》 在Java消息服务(Java Message Service,简称JMS)领域,javax.jms是核心...通过对这些源码的分析,开发者可以提升自己的JMS编程技能,解决实际问题,构建更健壮的分布式系统。

    JMS异步通信

    编程模式与P2P类似,但使用TopicConnection和TopicSession,创建TopicPublisher发送消息,TopicSubscriber接收消息。 **5. 二阶段提交的事务** JMS支持JTA(Java Transaction API)的二阶段提交,确保跨多个资源的...

    JMS中/英文帮助文档

    通过阅读`jms_zh.chm`和`jms_en.chm`文档,你可以深入了解JMS的工作原理、配置方法、编程接口以及最佳实践。对于开发分布式、高并发的企业级应用,掌握JMS是必不可少的技能。同时,文档还可能涵盖了错误处理、性能...

    JMS学习手册

    JMS(Java Message Service)是一种Java企业版(Java EE)技术...从这些知识点来看,JMS学习手册提供了一个全面的框架,帮助开发者了解和掌握JMS的关键概念、架构和编程模型,是学习和应用Java消息服务技术的宝贵资源。

    JMS API JAVADOC大全

    Java消息服务(Java Message Service,简称JMS)是Java平台中用于创建、发送、接收和读取消息的应用程序编程接口。它为分布式环境中不同应用间的异步通信提供了标准接口。JMS API JAVADOC是开发者的重要参考资料,...

    JMS详细讲解

    2. **JMS编程模型**: - **ConnectionFactory**:它是创建Connection的工厂类,通常在jms.xml配置文件中定义。通过JNDI查找获取ConnectionFactory实例,如下所示: ```java Context ctx = new InitialContext(); ...

    jms英文书小合集

    JMS支持两种消息模式:点对点(Queue)和发布/订阅(Topic)。点对点模式中,消息只被一个消费者接收;而在发布/订阅模式下,消息可以被多个订阅者接收。 3. **ActiveMQ**: ActiveMQ是Apache软件基金会开发的一个...

    JMS标准规范培训教程

    SUN MQ支持JMS接口,允许开发者使用JMS API进行编程,同时提供了丰富的管理和监控工具,确保消息系统的稳定运行。 五、JMS规范培训教程 《JMS规范培训教程》这份文档很可能是深入理解JMS标准和实际应用的指南,它...

    实用J2EE设计模式编程指南

    **实用J2EE设计模式编程指南** 在Java企业级应用开发中,J2EE(Java 2 Platform, Enterprise Edition)设计模式是提升代码质量、可维护性和可扩展性的重要工具。设计模式是软件工程中经过实践验证的解决特定问题的...

    JMS578 QFN-SELF POWER LOGO_V1.4.pdf

    除了数据传输功能外,JMS578还集成了电源管理模块,支持自我供电模式,因此在硬盘盒设计中,可以通过USB接口为芯片及硬盘供电,无需额外的电源适配器。 ### QFN封装方式 QFN(Quad Flat No Leads)封装是一种表面...

Global site tag (gtag.js) - Google Analytics