最近几天一直纠结于监听模式。在监听模式下遇到了两个问题。

1.消息接收者不关闭竟然收不到消息。

2.在监听模式下,每次只收一条消息,即使设定了监听,也是只收到一条消息

今天就针对这两个问题作出解答。

对于第一个问题,是这样的。在个别时候能收到消息。但是一般情况下都收不到消息。这个的表象是不关闭的问题,实际上,我认为是因为执行了关闭的方法,这时候使得监听来得及读消息,所以才能读出来一条消息。和关闭不关闭没有关系。测试代码如下:

我把关闭的代码去掉,换成等待5秒钟:

Java代码  
  1. JMSConsumer consumer = new JMSConsumer();
  2. consumer.openConsumer("localhost", 1414, "QMTest", "testQueue", false);
  3. ((JMSConsumer) consumer).receiveMessage();
  4. Thread.currentThread().sleep(5000);
      JMSConsumer consumer = new JMSConsumer();consumer.openConsumer("localhost", 1414, "QMTest", "testQueue", false);((JMSConsumer) consumer).receiveMessage();Thread.currentThread().sleep(5000);

这样照旧能读出消息。

对于第二种问题,可以这样理解。因为源码中并没有使用线程,因此,一个j2se程序虽然加了监听,但是程序执行完毕了就完了。因此即使添加了相应也没有用。如果队列里有消息,也只是调用一次接收消息,下一条消息还没来得及接收程序就执行完毕了。这也解释了为什么我在receiveMessage方法中增加了延迟,这时候能收多条消息的原因。解决方式就是使用一个线程,让程序不停的跑。

转载于:https://www.cnblogs.com/shhaoran/archive/2013/02/02/2924537.html

JMS调用IBM MQ监听模式相关推荐

  1. ibm mq java 发布订阅,JMS调用IBM MQ 监听模式的点对点模式

    JMS调用IBM MQ 监听方式的点对点模式 前面三篇,第一篇讲了安装IBM MQ时遇到的一些问题.第二篇讲了点对点模式的调用.第三篇讲了发布订阅模式.本篇说一下监听模式. 监听模式只是在消费者端监听 ...

  2. 1.设计模式中监听模式(观察者模式)(Python实现)

    目录 1.什么是监听模式 2.监听模式设计思想 3.监听模式的框架模型 4.分别用框架模型和不用框架模型来解决下面的例子 5.模型说明 6.监听模式根据侧重可以分为推模型和拉模型 7.账号异常登录检测 ...

  3. 【转】第01课:生活中的监听模式——一坑爹的热水器

    用程序来模拟生活 从剧情中思考监听模式 监听模式 监听模式的模型抽象 代码框架 类图 基于框架的实现 模型说明 设计要点 推模型和拉模型 应用场景 [故事剧情] 刚刚大学毕业的 Tony 只身来到北京 ...

  4. 软件设计模式——监听模式

    摘要 本博文主要是介绍监听模式的原理和应用场景. 案例介绍 庄小焱毕业后留在了的城市,开始了沪漂的生活.但刚刚毕业的他身无绝技.包无分文,为了生活只能住在高桥镇的小村庄,每天坐着程序员专线(10号线) ...

  5. 设计模式之观察者模式(监听模式)

    目录 前言 UML类图 观察者模式的设计要点及应用场景 观察者模式的应用 其他 前言         观察者模式也称作监听模式,即观察与被观察的关系,比如你在烧开水时看它有没有开,你就是观察者,水就是 ...

  6. 第01课:生活中的监听模式——一坑爹的热水器

    用程序来模拟生活 从剧情中思考监听模式 监听模式 监听模式的模型抽象 代码框架 类图 基于框架的实现 模型说明 设计要点 推模型和拉模型 应用场景 [故事剧情] 刚刚大学毕业的 Tony 只身来到北京 ...

  7. 设置树莓派的无线网卡为监听模式(monitor)

    先使用命令查看无线网卡的名字: ifconfig 结果如下: eth0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500inet 1 ...

  8. 策略模式,状态模式,监听模式之间的区分。

    把这三个放在一起区分,最主要的原因是这三种模式有共同点,就是都是把行为进行抽象. 1.策略模式一种最简单的.一种策略,当前只能有一个.. 2.状态模式可以说是链接起来的策略模式.强调的是各个策略实体类 ...

  9. 查看无线网卡是否支持监听模式

    查看无线网卡是否支持监听模式 在实施无线渗透测试时,通常需要将无线网卡设置为监听模式,来监听经过其网卡的所有流量.大学霸IT达人对于很多用户,都不知道如何确定自己的无线网卡是否支持监听,结果浪费大量时 ...

最新文章

  1. 深入理解iframe
  2. Initiate Field Service Jobs
  3. 【NLP】 NLP领域最具影响力的国内外会议介绍
  4. 架构模式_Index
  5. 计算机网络子网划分路由配置实验报告,完整的子网划分与路由交换实验报告 珍藏版哦...
  6. oracle安装检测空间china,oracle安装 - Ginn的个人空间 - OSCHINA - 中文开源技术交流社区...
  7. sql timestep 秒数后6位_excel中,如何截取身份证号后6位?前4位?或者中间8位?...
  8. BZOJ 3531[Sdoi2014]旅行
  9. matlab常用误差分析绘图函数
  10. 华为手机设置页面黑色_羡慕黑色背景照片?华为手机简单一招即可轻松拍摄
  11. 计算机网口在哪看,联想电脑网线接口在哪
  12. 安卓版teamview15.5.3
  13. ld returned 1 exit status
  14. 算法初步(一)寻找最小正整数
  15. ios vue 添加本地音乐_VUE怎么添加音乐 本地音乐添加教程
  16. Python爬取猪八戒网站
  17. php 周易,GitHub - jyiL/lunarPHP: 易经六十四卦排盘类库
  18. VS或VC编译正常,但运行时出现Stack overflow
  19. Java基础-静态代理以及动态代理
  20. 人工智能与机器学习课程大作业(四、函数优化)

热门文章

  1. 大牛整理:java去掉字符串中的逗号
  2. 「高并发秒杀」linux安装软件有哪几种方式
  3. 【Java Web开发指南】mybatis的Example[Criteria]的使用
  4. mysql 修改配置生效_linux下面MySQL变量修改及生效
  5. fastjson 添加key value_Redis中设置了过期时间的Key,那么你还要知道些什么?
  6. Java开发者 IntelliJ IDEA 转换 VScode 时的优缺点
  7. 网络推广下叮咚买菜已完成D轮融资,生鲜电商下一次融资又在何方?
  8. 网站推广过程中如遇网站降权应从网站推广中哪些细节着手分析?
  9. php动态网页简书,LAMP架构部署和动态网站环境的配置
  10. docker新增目录映射_开发也需了解的运维知识之Docker