私は現在rabbit_client
を使用してejabberdからキューメッセージを送信しています。このメッセージは、ejabberdフックを使用してトリガーされます。問題なくコンパイルしてインストールできます。rabbitmq - erlangクライアントと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、起動し、[{amqp_params_network、 "ユーザ名"、 "パスワード"、< <「/">>,"192.168.xx。 [#Fun、#Fun]、[]、[]}、{}、{mod_mymod、send_internal_notice、4、{src、/ src/mod_mymod、xx "、undefined、0,0,10、無限大、 {ejabberd_hooks、run1,3、[{file、 "src/ejabberd_hooks.erl"}、{line、382}}}、{ejabberd_hooks、safe_apply、3、ファイル、 "src/ejabberd_hooks.erl"}、{line、329}}}、{ejabberd_c2s、presence_update、3、{{ファイル、 "src/ejabberd_c2s.erl"}、{line、2068}}}、{ejabberd_c2s、 session_established2,2、[{file、 " src/ejabberd_c2s.erl "}、{line、1249}}}、{p1_fsm、handle_msg、10、{{ファイル、" src/p1_fsm.erl "}、{line、582}}}、{proc_lib、init_p_do_apply、3 、[{ファイル、 "proc_lib.erl"}、{行、247}]}]}
ヒントのための@Rogerありがとうございました。心から感謝する。 – lxnx
この問題を解決するには、rabbit_clientとamqp_commonを$ ejabberd/libディレクトリに入れる必要があります。ダウンロードリンク:http://www.rabbitmq.com/releases/rabbitmq-erlang-client/ – lxnx