`
lijiejava
  • 浏览: 262435 次
  • 性别: Icon_minigender_1
  • 来自: 南通
社区版块
存档分类
最新评论

JMS小结

 
阅读更多
1. JMS接收不到消息,p2p模型中接收不到消息(或是第一次可以正常接收,而之后就无法接收) 主要原因:    
  每执行一次 QueueReceiver receiver = session.createReceiver(queue)    语句,就会创建一个queue队列消息的消费者,如果在一个应用程序中多 次执  行上述语句,就会产生多个消费者,可以在浏览器中输入http://localhost:8161/admin进行查看。而一旦某个队列有多个对应的消费者,那么JMS提供者将消息发送给那个消费者是不确定的!要想准确收到对应的回复消息,需要使用“消息过滤”。

    
2.   消息的同步异步接收:        
消息的同步接收是指客户端主动去接收消息,JMS 客户端可以采用MessageConsumer 的receive方法去接收下一个消息;消息的异步接收是指当消息到达时,主动通知客户端。JMS 客户端可以通过注册一个实现MessageListener 接口的对象到 MessageConsumer,这样,每当消息到达时,JMS Provider 会调用MessageListener中的onMessage 方法。


3.   消息的push/pull             
QueueReceiver的receive方法从JMS服务器去拉取消息,一次只能取道一条;而如果QueueReceiver设置了一个监听器,一旦有消息,JMS服务器就会将消息推送个QueueReceiver;对于服务器中的消息,如果被发送到某个receiver,而且这个receiver接收到消息后通知服务器,那么这个消息才会被服务器从队列中删除,否则仍然保存在队列中。关于通知的方式就涉及到事务以及消息确认模式等。


4.      Spring JMS       
JmsTemplate用于同步发送消息和接收消息; Spring框架通过MDP支持消息的异步接收,在Spring中,配置异步消息侦听器有3中不同的方式:实现javax.jms.MessageListener接口,实现Spring的
SessionAwareMessageListener,以及在Spring的MessageListenerAdapter类中包装一个标准的POJO。



分享到:
评论

相关推荐

    logback jms源码分析加用法小结

    《logback jms源码分析及用法小结》 在Java世界中,日志管理是每个项目不可或缺的一部分。Logback作为一款强大的日志框架,因其高效、灵活和可配置性而深受开发者喜爱。本文将重点探讨Logback如何集成JMS(Java ...

    开源项目研究与应用小结.pdf

    ### 开源项目研究与应用小结 #### 一、引言 随着信息技术的快速发展与互联网技术的普及,开源软件在企业级应用中的地位越来越重要。《开源项目研究与应用小结》这一文档提供了关于高并发敏捷WEB架构、消息队列/...

    RMI入门小结

    【RMI(Remote Method Invocation)入门小结】 远程方法调用(RMI)是Java平台上的一个关键特性,它允许Java对象在不同的JVM(Java虚拟机)之间进行通信,从而实现分布式计算。RMI机制使得开发者可以像调用本地方法...

    从Java走向Java+EE+.rar

    1.5 小结 13 第2章 使用Jakarta Commons来简化开发 14 2.1 Jakarta Commons的功能和用法 14 2.2 小结 18 第3章 Java EE容器 19 3.1 什么是容器 19 3.2 Tomcat的安装和使用 20 3.3 小结 25 第4章 在...

    Spring in Action(第2版)中文版

    目录 第一部分spring的核心 第1章开始spring之旅 1.1spring是什么 1.2开始spring之旅 1.3理解依赖注入 ...1.5小结 ...2.6小结 ...3.7小结 ...4.6小结 ...5.8小结 ...6.5小结 ...7.7小结 ...8.6小结 ...9.6小结 ...b.4小结

    Spring in Action(第二版 中文高清版).part2

    第一部分 Spring的核心 第1章 开始Spring之旅 1.1 Spring是什么 1.2 开始Spring之旅 1.3 理解依赖注入 1.3.1 依赖注入 1.3.2 DI应用 1.3.3 企业级应用中的依赖注入 1.4 应用AOP ...B.4 小结

    Spring in Action(第二版 中文高清版).part1

    第一部分 Spring的核心 第1章 开始Spring之旅 1.1 Spring是什么 1.2 开始Spring之旅 1.3 理解依赖注入 1.3.1 依赖注入 1.3.2 DI应用 1.3.3 企业级应用中的依赖注入 1.4 应用AOP ...B.4 小结

    JBPM4工作流应用开始指南.rar

    41 2.9.5 导入和使用范例 41 2.10 例程:jBPM HelloWorld 43 2.11 小结 45 第3章 使用jBPM图形化流程设计器(GPD)设计流程 46 3.1 创建一个新流程 47 3.2 编辑流程定义源 49 3.3 例程:设计一个“复杂的”业务流程 ...

    Java数据编程指南

    J2EE通信 通信概述 JMS的详细情况 消息驱动EJB 小结 第24章 Java数据对象(JDO) 概述 JDO对象模型 JDO API JDO实例的生命周期 JDO和EJB 开发可持久类 范例应用程序 配置FFJ...

    Java测试新技术TestNG和高级概念.part1

    1.5 本章小结 第2章 测试设计模式 2.1 针对失败而测试 2.2 工厂 2.3 数据驱动测试 2.4 异步测试 2.5 测试多线程代码 2.6 性能测试 2.7 模拟和桩 2.8 依赖的测试 2.9 继承和annotation范围 2.10 测试分组 2.11 ...

    Java测试新技术TestNG和高级概念.part2

    1.5 本章小结 第2章 测试设计模式 2.1 针对失败而测试 2.2 工厂 2.3 数据驱动测试 2.4 异步测试 2.5 测试多线程代码 2.6 性能测试 2.7 模拟和桩 2.8 依赖的测试 2.9 继承和annotation范围 2.10 测试分组 2.11 ...

    J2EE应用开发详解

    第1章 Java Web应用开发简介 1 1.1 Java EE应用概述 1 1.2 Java EE概念 1 1.2.1 Java EE多层模型 1 1.2.2 Java EE体系结构 2 1.3 Java EE的核心API与组件 4 1.4 Web服务器和应用服务器 13 1.5 小结 16 第2章 建立...

    RMI使用学习 小结

    RMI(Remote Method Invocation,远程方法调用)是Java提供的一种用于实现分布式计算的技术,它允许在不同的Java虚拟机之间透明地...然而,对于大型和复杂的分布式系统,可能需要考虑其他技术,如JMS、Hadoop、Akka等。

    java实现消息队列的两种方式(小结)

    Java消息队列(Java Message Queue,简称JMS)是一种用于应用程序之间异步通信的技术,它允许应用程序通过消息传递数据,而无需直接调用彼此。在本文中,我们将探讨两种使用Java实现消息队列的方式,分别是利用...

    Spring攻略(第二版 中文高清版).part2

    1.15 小结 56 第2章 高级Spring IoC容器 57 2.1 调用静态工厂方法创建Bean 57 2.1.1 问题 57 2.1.2 解决方案 57 2.1.3 工作原理 57 2.2 调用一个实例工厂方法创建Bean 58 2.2.1 问题 58 2.2.2 ...

    Spring攻略(第二版 中文高清版).part1

    1.15 小结 56 第2章 高级Spring IoC容器 57 2.1 调用静态工厂方法创建Bean 57 2.1.1 问题 57 2.1.2 解决方案 57 2.1.3 工作原理 57 2.2 调用一个实例工厂方法创建Bean 58 2.2.1 问题 58 2.2.2 ...

    Java事务的个人理解小结

    JTA事务通常配合JMS(Java Message Service)和其他EJB(Enterprise JavaBeans)组件一起使用,以实现更复杂的事务处理需求。 3. **容器事务**:在Java EE(现在称为Jakarta EE)环境中,容器(如应用服务器)负责...

    《程序天下:J2EE整合详解与典型案例》光盘源码

    第一章 J2EE快速入门 1.1 J2EE概述 1.1.1 J2EE的来源 1.1.2 J2EE整体框架 1.1.3 从J2EE到JavaEE 1.2 J2EE组件 1.2.1 客户端组件 1.2.2 Web组件 1.2.3 业务逻辑组件 1.3 J2EE容器 1.3.1 容器服务 ...15.13 小结

    搞定J2EE:STRUTS+SPRING+HIBERNATE整合详解与典型案例 (2)

    一共四个,其中pdf 三个包,源码一个包 第一章 J2EE快速入门 1.1 J2EE概述 1.1.1 J2EE的来源 1.1.2 J2EE整体框架 1.1.3 从J2EE到JavaEE 1.2 J2EE组件 1.2.1 客户端组件 1.2.2 Web组件 ...15.13 小结

Global site tag (gtag.js) - Google Analytics