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();
分享到:
相关推荐
文件"基于Spring的JMS编程-1"可能包含了关于如何在Spring环境中配置和使用JMS的详细步骤,包括XML配置、代码示例以及可能的实战项目案例。进一步学习这些内容,你将能够熟练掌握Spring框架下的JMS编程技巧,从而在...
【基于Jboss的JMS编程】是关于Java消息服务(JMS)在Jboss应用服务器上的实现和配置的教程,适合初学者理解JMS的基本概念和应用。JMS是一种标准API,用于在分布式环境中发送、接收和管理消息,提供可靠的数据传输。 ...
【JAVA编程模式与范例】这个压缩包文件主要聚焦于Java编程中的设计模式和实例应用。设计模式是软件工程中经过实践验证的、在特定场景下解决常见问题的有效方法,而Java作为广泛应用的面向对象编程语言,其设计模式的...
**JMS IBM MQ 订阅模式详解** Java Message Service(JMS)是一种API,它为在分布式环境中进行异步通信提供了标准接口。IBM MQ是IBM提供的一个消息中间件产品,它支持多种消息传递模型,包括点对点和发布/订阅模型...
3. **JMS编程接口**: - **Message对象**:包含消息头、属性和消息体三部分。消息头是必需的,包含如目的地、递送模式、消息ID等字段。属性和消息体是可选的,属性用于消息过滤,消息体用于承载实际数据。 - **...
JMS编程模型包括了创建连接、创建会话、创建消息生产者和消费者等步骤。以下是一个典型的JMS程序开发流程: 1. **通过JNDI查询ConnectionFactory和Destination**:首先通过Java Naming and Directory Interface ...
### JMS(Java消息服务)详细教程知识点梳理 #### 一、MQ与J2EE API...以上是对JMS及其与J2EE API之间关系的详细解析,以及JMS编程模型的关键概念和技术要点。希望这些内容能够帮助您更好地理解和掌握JMS的相关知识。
编程模型需要在代码中显式创建和管理JMS资源,而声明式模型通过WebLogic管理控制台或XML配置文件完成资源配置。 例如,一个简单的JMS生产者可能会创建一个消息,然后通过连接工厂和指定的队列发送出去。消费者则会...
5. **MQ编程模式**:探索各种MQ编程模式,如同步和异步消息处理,以及如何设计高效、健壮的MQ应用。 6. **故障排查与性能优化**:学习如何诊断MQ相关的问题,以及如何调整MQ配置以提高性能和可扩展性。 7. **安全...
《深入解析ActiveMQ中的javax.jms源码》 在Java消息服务(Java Message Service,简称JMS)领域,javax.jms是核心...通过对这些源码的分析,开发者可以提升自己的JMS编程技能,解决实际问题,构建更健壮的分布式系统。
编程模式与P2P类似,但使用TopicConnection和TopicSession,创建TopicPublisher发送消息,TopicSubscriber接收消息。 **5. 二阶段提交的事务** JMS支持JTA(Java Transaction API)的二阶段提交,确保跨多个资源的...
通过阅读`jms_zh.chm`和`jms_en.chm`文档,你可以深入了解JMS的工作原理、配置方法、编程接口以及最佳实践。对于开发分布式、高并发的企业级应用,掌握JMS是必不可少的技能。同时,文档还可能涵盖了错误处理、性能...
JMS(Java Message Service)是一种Java企业版(Java EE)技术...从这些知识点来看,JMS学习手册提供了一个全面的框架,帮助开发者了解和掌握JMS的关键概念、架构和编程模型,是学习和应用Java消息服务技术的宝贵资源。
Java消息服务(Java Message Service,简称JMS)是Java平台中用于创建、发送、接收和读取消息的应用程序编程接口。它为分布式环境中不同应用间的异步通信提供了标准接口。JMS API JAVADOC是开发者的重要参考资料,...
2. **JMS编程模型**: - **ConnectionFactory**:它是创建Connection的工厂类,通常在jms.xml配置文件中定义。通过JNDI查找获取ConnectionFactory实例,如下所示: ```java Context ctx = new InitialContext(); ...
JMS支持两种消息模式:点对点(Queue)和发布/订阅(Topic)。点对点模式中,消息只被一个消费者接收;而在发布/订阅模式下,消息可以被多个订阅者接收。 3. **ActiveMQ**: ActiveMQ是Apache软件基金会开发的一个...
SUN MQ支持JMS接口,允许开发者使用JMS API进行编程,同时提供了丰富的管理和监控工具,确保消息系统的稳定运行。 五、JMS规范培训教程 《JMS规范培训教程》这份文档很可能是深入理解JMS标准和实际应用的指南,它...
**实用J2EE设计模式编程指南** 在Java企业级应用开发中,J2EE(Java 2 Platform, Enterprise Edition)设计模式是提升代码质量、可维护性和可扩展性的重要工具。设计模式是软件工程中经过实践验证的解决特定问题的...
除了数据传输功能外,JMS578还集成了电源管理模块,支持自我供电模式,因此在硬盘盒设计中,可以通过USB接口为芯片及硬盘供电,无需额外的电源适配器。 ### QFN封装方式 QFN(Quad Flat No Leads)封装是一种表面...