【问题标题】:rabbitmq - erlang client integration with ejabberd modulerabbitmq - erlang 客户端与 ejabberd 模块的集成
【发布时间】:2017-01-13 19:18:53
【问题描述】:

我目前使用rabbit_client 从我们的 ejabberd 发送队列消息。此消息是使用 ejabberd 钩子触发的。可以顺利编译安装,没有任何问题。

尝试创建连接时,我不断收到相同的错误。如果有人能就这个问题提供一些线索,我们将不胜感激。

以下是用于连接和发布消息的代码。

{ok, Connection} =
    amqp_connection:start(#amqp_params_network{host = "192.168.xx.xx", username = "username", password= "password"}),
{ok, Channel} = amqp_connection:open_channel(Connection),

amqp_channel:call(Channel, #'queue.declare'{queue = <<"hello">>}),

amqp_channel:cast(Channel,
                  #'basic.publish'{
                    exchange = <<"">>,
                    routing_key = <<"hello">>},
                  #amqp_msg{payload = <<"Hello World!">>}),
io:format(" [x] Sent 'Hello World!'~n"),
ok = amqp_channel:close(Channel),
ok = amqp_connection:close(Connection),
ok.

错误

{undef,[{amqp_connection,start,[{amqp_params_network,"username","password",>,"192.168.xx.xx",undefined,0,0,10,infinity,无,[#Fun,#Fun],[],[]}],[]},{mod_mymod,send_internal_notice,4,[{file,"src/mod_mymod.erl"},{line,67}]}, {ejabberd_hooks,safe_apply,3,[{file,"src/ejabberd_hooks.erl"},{line,382}]},{ejabberd_hooks,run1,3,[{file,"src/ejabberd_hooks.erl"},{line ,329}]},{ejabberd_c2s,presence_update,3,[{file,"src/ejabberd_c2s.erl"},{line,2068}]},{ejabberd_c2s,session_established2,2,[{file,"src/ejabberd_c2s. erl"},{line,1249}]},{p1_fsm,handle_msg,10,[{file,"src/p1_fsm.erl"},{line,582}]},{proc_lib,init_p_do_apply,3,[{file ,"proc_lib.erl"},{line,247}]}]}

【问题讨论】:

    标签: erlang rabbitmq ejabberd


    【解决方案1】:

    {undef,[{amqp_connection,start,... 表示未定义 amqp_connection:start/1 函数 (undef)。这通常意味着 amqp_connection 模块不在 Erlang 代码路径中。

    【讨论】:

    • 感谢@Roger 的提示。真的很感激。
    • 对于有同样问题的人,为了解决这个问题,您需要将 rabbit_client 和 amqp_common 放入 $ejabberd/lib 目录。下载链接:rabbitmq.com/releases/rabbitmq-erlang-client
    猜你喜欢
    • 2015-12-05
    • 2012-06-03
    • 1970-01-01
    • 2015-11-17
    • 2013-04-16
    • 1970-01-01
    • 2014-09-14
    • 2017-06-20
    • 1970-01-01
    相关资源
    最近更新 更多