You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

RabbitMQ调用CreateModel()时连接中断问题解决方案咨询

解决RabbitMQ调用CreateModel()时连接被强制关闭的问题

问题现象

调用connection.CreateModel()时抛出RabbitMQ.Client.Exceptions.OperationInterruptedException,提示远程主机强制关闭连接;RabbitMQ日志显示认证成功后rabbit_reader进程因unexpected_message异常崩溃,触发最大重启强度限制导致连接关闭。

已完成排查

  • RabbitMQ服务正常,可通过Management WebUI手动收发消息
  • 执行rabbitmq-diagnostics.bat status显示服务状态无异常
  • 程序已加入Windows防火墙白名单
  • Wireshark抓包显示RabbitMQ接受连接后发送Reset指令

解决方案

  • 匹配客户端与服务器版本兼容性:RabbitMQ.Client版本与RabbitMQ服务器版本不匹配是触发unexpected_message的核心原因之一。比如服务器为3.8.x系列时,建议使用RabbitMQ.Client 5.x版本;服务器为3.10+时,可使用RabbitMQ.Client 6.x+版本,需对照官方版本兼容要求调整客户端版本。
  • 显式指定AMQP协议版本:在创建ConnectionFactory时强制指定服务器支持的协议版本,避免客户端自动协商的协议不兼容:
    var factory = new ConnectionFactory 
    { 
        HostName = "localhost",
        Protocol = Protocols.AMQP_0_9_1 // 根据服务器支持的协议调整,如AMQP_0_8等
    };
    
  • 禁用非官方插件:若RabbitMQ安装了第三方或自定义插件,可能干扰连接报文处理。暂时禁用所有非官方插件,重启RabbitMQ服务后重新测试。
  • 重新安装RabbitMQ.Client包:NuGet包损坏可能导致客户端发送的报文格式异常。卸载当前RabbitMQ.Client包,清理项目缓存后重新安装对应兼容版本。
  • 排查网络拦截工具:除防火墙外,杀毒软件、网络监控工具或代理软件可能篡改AMQP报文。暂时关闭这类工具,测试连接是否恢复正常。

内容的提问来源于stack exchange,提问作者DQuade

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.21 17:07:49