通过STOMP连接RabbitMQ时处理错误

0 投票
1 回答
1688 浏览
提问于 2025-04-16 20:59

我尝试通过 telnet 使用 STOMP 协议连接到 RabbitMQ(版本 2.5.1),结果遇到了以下错误:

  #telnet localhost 61613

  Trying ::1...
  Connected to localhost.localdomain.
  Escape character is '^]'.
  CONNECT
  login:guest
  passcode:guest

  ^@  
  ERROR
  message:Processing error
  content-type:text/plain
  version:1.0,1.1
  content-length:17


  Processing error

SASL 日志显示:

=INFO REPORT==== 7-Jul-2011::11:43:41 ===
accepted TCP connection on [::]:61613 from [::1]:33387

=INFO REPORT==== 7-Jul-2011::11:43:41 ===
starting STOMP connection  from ::1:33387

=ERROR REPORT==== 7-Jul-2011::11:43:54 ===
STOMP error frame sent:
Message: "Processing error"
Detail: "Processing error\n"
Server private detail: {{case_clause,
                            {amqp_params_direct,>,>,
                                rabbit@skynet,
                                {adapter_info,
                                    {0,0,0,0,0,0,0,1},
                                    61613,
                                    {0,0,0,0,0,0,0,1},
                                    33387,unknown,
                                    {'STOMP',"1.0"},
                                    [{ssl,false}]},
                                []}},
                        [{amqp_connection,start,2},
                         {rabbit_stomp_processor,do_login,7},
                         {rabbit_stomp_processor,process_request,3},
                         {gen_server2,handle_msg,2},
                         {proc_lib,wake_up,3}]}

在 Rabbit 节点上有一些应用正在运行:

Eshell V5.7.4  (abort with ^G)
(rabbit@skynet)1> application:which_applications().
[{amqp_client,"RabbitMQ AMQP Client","2.3.1"},
 {rabbitmq_stomp,"Embedded Rabbit Stomp Adapter","2.5.1"},
 {rabbit,"RabbitMQ","2.5.1"},
 {mnesia,"MNESIA  CXC 138 12","4.4.12"},
 {os_mon,"CPO  CXC 138 46","2.2.4"},
 {sasl,"SASL  CXC 138 11","2.1.8"},
 {stdlib,"ERTS  CXC 138 10","1.16.4"},
 {kernel,"ERTS  CXC 138 10","2.13.4"}]

当我尝试通过 Python 的 stomp 模块(http://code.google.com/p/stomppy)或 PHP 的 stomp 模块(http://pecl.php.net/package/stomp)连接时,也出现了同样的错误。

提前谢谢大家!

1 个回答

0

你现在使用的是Erlang客户端的版本2.3.1,而STOMP插件的版本是2.5.1。这两个版本需要保持一致,也就是说你得把它们都更新到同一个版本。你可以在这里下载Erlang客户端的2.5.1版本。

撰写回答