我正在尝试使用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中使用这些东西?