pbootcms网站模板|日韩1区2区|织梦模板||网站源码|日韩1区2区|jquery建站特效-html5模板网

添加多個偵聽器將偵聽不同的 RabbitMQ 隊列不起作

Adding multiple listeners which will listen to different RabbitMQ queue not working(添加多個偵聽器將偵聽不同的 RabbitMQ 隊列不起作用)
本文介紹了添加多個偵聽器將偵聽不同的 RabbitMQ 隊列不起作用的處理方法,對大家解決問題具有一定的參考價值,需要的朋友們下面隨著小編來一起學習吧!

問題描述

限時送ChatGPT賬號..

我有以下 spring xml 配置

I hava following spring xml configuration

<bean id="connectionFactory"
          class="org.springframework.amqp.rabbit.connection.CachingConnectionFactory">
 <constructor-arg value="xxxxxxxx"/>
        <property name="username" value="xxxxx"/>
        <property name="password" value="xxxxx"/>
        <property name="channelCacheSize" value="25"/>
        <property name="virtualHost" value="/"/>
        <property name="port" value="3453"/>
 </bean>

 <rabbit:template id="tutorialTemplate" connection-factory="connectionFactory"/>
 <!-- 1st queue -->             
 <rabbit:queue id="veliteQueue" name="ES_queue" durable="true" auto-delete="false" exclusive="false"/>
    
 <rabbit:direct-exchange id="myExchange" durable="true" name="ES_exchange">
     <rabbit:bindings>
        <rabbit:binding queue="veliteQueue" key="logstash"></rabbit:binding>
     </rabbit:bindings>
 </rabbit:direct-exchange>

  <!-- 2nd Queue -->
 <rabbit:queue id="veliteQueue1" name="ES_queue_Temp" durable="true" auto-delete="false" exclusive="false"/> 

  <rabbit:direct-exchange id="myExchange1" durable="true" name="ES_exchange_temp">
    <rabbit:bindings>
        <rabbit:binding queue="ES_queue_Temp" key="logstash_temp"></rabbit:binding>
    </rabbit:bindings>
   </rabbit:direct-exchange> 
   <!-- 2 Listeners for 2 queue's mentioned above --> 
   <bean id="aListener" class="com.vzw.es.cosumer.SpringMessageListener" autowire="byName"/>
<bean id="aListener1" class="com.vzw.es.cosumer.SpringMessageListener1" autowire="byName"/>

<rabbit:listener-container id="myListenerContainer" connection-factory="connectionFactory" acknowledge="auto" prefetch="750" concurrency="1">
    <rabbit:listener ref="aListener" queues="veliteQueue"/>
    <rabbit:listener ref="aListener1" queues="veliteQueue1"/>
</rabbit:listener-container>

現在在我的 Java 代碼中,我有 2 個監聽器類:com.vzw.es.cosumer.SpringMessageListener 和 com.vzw.es.cosumer.SpringMessageListener1.現在,當我運行我的主類時,只有 1 個偵聽器的 onMessage 方法被調用,即 SpringMessageListener1,我確實從 RabbitMQ 進行了檢查,并且兩個隊列都有足夠的消息來消費.

Now in my Java code I have 2 Listener classes: com.vzw.es.cosumer.SpringMessageListener and com.vzw.es.cosumer.SpringMessageListener1. Now When I am running my main class only 1 listener's onMessage method is getting invoked i.e. SpringMessageListener1, I did check from RabbitMQ prespective and bothe queues have enough messages to consume.

此外,當我從 xml SpringMessageListener 注釋掉第二個隊列及其偵聽器時,效果也很好.

Also when I comment out the 2nd queue and its listener from xml SpringMessageListener works perfectly.

推薦答案

這是容器解析器的一個bug,每個監聽器都有自己的容器(命名空間只是一種方便的方式來指定公共屬性).如果您刪除 id="myListenerContainer",它將起作用 - 因為每個容器都有一個(不同的)生成名稱.指定 id 后,兩個 bean 的名稱相同,最后一個定義替換第一個.

It's a bug in the container parser, each listener gets its own container (the namespace is just a convenient way to specify common attributes). If you remove the id="myListenerContainer", it will work - because each container gets a (different) generated name. With the id specified, both beans get the same name, and the last definition replaces the first.

或者,聲明兩個單獨的容器元素,具有不同的 ID,并且每個元素只有一個偵聽器.

Alternatively, declare two separate container elements, with different IDs, and each having just one listener.

感謝您找到這個.

請打開 JIRA 問題

此問題在 1.2.1 版中得到解決.

這篇關于添加多個偵聽器將偵聽不同的 RabbitMQ 隊列不起作用的文章就介紹到這了,希望我們推薦的答案對大家有所幫助,也希望大家多多支持html5模板網!

【網站聲明】本站部分內容來源于互聯網,旨在幫助大家更快的解決問題,如果有圖片或者內容侵犯了您的權益,請聯系我們刪除處理,感謝您的支持!

相關文檔推薦

Parsing an ISO 8601 string local date-time as if in UTC(解析 ISO 8601 字符串本地日期時間,就像在 UTC 中一樣)
How to convert Gregorian string to Gregorian Calendar?(如何將公歷字符串轉換為公歷?)
Java: What/where are the maximum and minimum values of a GregorianCalendar?(Java:GregorianCalendar 的最大值和最小值是什么/在哪里?)
Calendar to Date conversion for dates before 15 Oct 1582. Gregorian to Julian calendar switch(1582 年 10 月 15 日之前日期的日歷到日期轉換.公歷到儒略歷切換)
java Calendar setFirstDayOfWeek not working(java日歷setFirstDayOfWeek不起作用)
Java: getting current Day of the Week value(Java:獲取當前星期幾的值)
主站蜘蛛池模板: 汽液过滤网厂家_安平县银锐丝网有限公司 | 高清视频编码器,4K音视频编解码器,直播编码器,流媒体服务器,深圳海威视讯技术有限公司 | 真空吸污车_高压清洗车厂家-程力专用汽车股份有限公司官网 | 空气能采暖,热泵烘干机,空气源热水机组|设备|厂家,东莞高温热泵_正旭新能源 | 定制异形重型钢格栅板/钢格板_定做踏步板/排水沟盖板_钢格栅板批发厂家-河北圣墨金属制品有限公司 | 郑州外墙清洗_郑州玻璃幕墙清洗_郑州开荒保洁-河南三恒清洗服务有限公司 | 智能监控-安防监控-监控系统安装-弱电工程公司_成都万全电子 | 排烟防火阀-消防排烟风机-正压送风口-厂家-价格-哪家好-德州鑫港旺通风设备有限公司 | 【星耀裂变】_企微SCRM_任务宝_视频号分销裂变_企业微信裂变增长_私域流量_裂变营销 | 主题班会网 - 安全教育主题班会,各类主题班会PPT模板 | 汽车水泵_汽车水泵厂家-瑞安市骏迪汽车配件有限公司 | 工业风机_环保空调_冷风机_工厂车间厂房通风降温设备旺成服务平台 | 施工电梯_齿条货梯_烟囱电梯_物料提升机-河南大诚机械制造有限公司 | 丙烷/液氧/液氮气化器,丙烷/液氧/液氮汽化器-无锡舍勒能源科技有限公司 | 仿清水混凝土_清水混凝土装修_施工_修饰_保护剂_修补_清水混凝土修复-德州忠岭建筑装饰工程 | 微学堂-电动能源汽车评测_电动车性能分享网 | 创客匠人-让IP变现不走弯路 | 商标转让-商标注册-商标查询-软著专利服务平台 - 赣江万网 | 深圳昂为官网-气体分析仪,沼气分析仪,动态配气仪,气体传感器厂家 | 心肺复苏模拟人|医学模型|急救护理模型|医学教学模型上海康人医学仪器设备有限公司 | 长沙中央空调维修,中央空调清洗维保,空气能热水工程,价格,公司就找维小保-湖南维小保环保科技有限公司 | 精密机械零件加工_CNC加工_精密加工_数控车床加工_精密机械加工_机械零部件加工厂 | 医院专用门厂家报价-医用病房门尺寸大全-抗菌木门品牌推荐 | 列管冷凝器,刮板蒸发器,外盘管反应釜厂家-无锡曼旺化工设备有限公司 | 超声波清洗机_超声波清洗机设备_超声波清洗机厂家_鼎泰恒胜 | 酒吧霸屏软件_酒吧霸屏系统,酒吧微上墙,夜场霸屏软件,酒吧点歌软件,酒吧互动游戏,酒吧大屏幕软件系统下载 | 膜结构停车棚-自行车棚-膜结构汽车棚加工安装厂家幸福膜结构 | 即用型透析袋,透析袋夹子,药敏纸片,L型涂布棒-上海桥星贸易有限公司 | 自动售货机_无人售货机_专业的自动售货机运营商_免费投放售货机-广州富宏主官网 | 干洗加盟网-洗衣店品牌排行-干洗设备价格-干洗连锁加盟指南 | 上海单片机培训|重庆曙海培训分支机构—CortexM3+uC/OS培训班,北京linux培训,Windows驱动开发培训|上海IC版图设计,西安linux培训,北京汽车电子EMC培训,ARM培训,MTK培训,Android培训 | 铝合金重力铸造_铝合金翻砂铸造_铝铸件厂家-东莞市铝得旺五金制品有限公司 | 悬浮拼装地板_幼儿园_篮球场_悬浮拼接地板-山东悬浮拼装地板厂家 | 飞扬动力官网-广告公司管理软件,广告公司管理系统,喷绘写真条幅制作管理软件,广告公司ERP系统 | TPU薄膜_TPU薄膜生产厂家_TPU热熔胶膜厂家定制_鑫亘环保科技(深圳)有限公司 | 自进式锚杆-自钻式中空注浆锚杆-洛阳恒诺锚固锚杆生产厂家 | 老城街小面官网_正宗重庆小面加盟技术培训_特色面馆加盟|牛肉拉面|招商加盟代理费用多少钱 | 炭黑吸油计_测试仪,单颗粒子硬度仪_ASTM标准炭黑自销-上海贺纳斯仪器仪表有限公司(HITEC中国办事处) | 北京签证代办_签证办理_商务签证_旅游签证_寰球签证网 | 聚丙烯酰胺_厂家_价格-河南唐达净水材料有限公司 | 福建自考_福建自学考试网 |