【发布时间】:2014-02-10 02:30:19
【问题描述】:
我正在尝试使用 RabbitMQ Erlang 客户端绑定。我想从 Erlang shell 中执行此操作。
我可以成功加载相关模块,并且可以加载记录类型:
1> rr(amqp_connection).
['P_access','P_basic','P_channel'|...]
2> rl(amqp_params_network).
-record(amqp_params_network,{username = <<"guest">>,
password = <<"guest">>,
virtual_host = <<"/">>,
...等等。
但是当我尝试实际连接时:
{ok, C} = amqp_connection:start(#amqp_params_network{}).
...我收到错误消息...
** exception error: no function clause matching
erl_eval:expr(amqp_auth_mechanisms,[],
{eval,#Fun<shell.21.103280319>},
{value,#Fun<shell.5.103280319>},
none) (erl_eval.erl, line 200)
我唯一能想到的是amqp_params_network有一些函数作为默认记录值:
...
ssl_options = none,
auth_mechanisms =
[fun amqp_auth_mechanisms:plain/3,
fun amqp_auth_mechanisms:amqplain/3],
client_properties = [],
...
我该如何克服这个问题,以便我可以在 Erlang shell 中使用这些东西?
【问题讨论】: