2017-02-03 6 views
0

Я пытаюсь подключиться к rabbitmq, используя библиотеку amqp_client. Я выполнил следующие шаги: here.Rabbitmq Client от ошибки выброса оболочки erlang

Моя версия rabbitmq - это RabbitMQ 3.5.7, Erlang 18.3. Поэтому я загрузил соответствующие файлы с https://www.rabbitmq.com/releases/rabbitmq-erlang-client/v3.5.7/. и распакуется в путь «/ usr/lib/erlang/lib /». то в Erlang оболочки я начал, как показано ниже

application:start(xmerl). 
application:start(amqp_client). 
application:start(rabbit_common). 
rr("/usr/lib/erlang/lib/amqp_client-3.5.7/include/amqp_client.hrl"). 
#amqp_params_network{}. 
{ok, Connection} = amqp_connection:start(#amqp_params_network{port=5672}). 

На этом этапе я получил некоторый отчет об ошибке

=ERROR REPORT==== 3-Feb-2017::18:55:10 === 
** Generic server <0.99.0> terminating 
** Last message in was connect 
** When Server state == {<0.98.0>, 
         {amqp_params_network,<<"guest">>,<<"guest">>, 
          <<"/">>,"localhost",5672,0,0,10,infinity,none, 
          [#Fun<amqp_auth_mechanisms.plain.3>, 
           #Fun<amqp_auth_mechanisms.amqplain.3>], 
          [],[]}} 
** Reason for termination == 
** {function_clause, 
     [{amqp_gen_connection,terminate, 
      [{undef, 
       [{rabbit_misc,ntoab,[{127,0,0,1}],[]}, 
        {rabbit_net,connection_string,2,[]}, 
        {amqp_network_connection,try_handshake,3,[]}, 
        {amqp_gen_connection,handle_call,3,[]}, 
        {gen_server,try_handle_call,4, 
         [{file,"gen_server.erl"},{line,629}]}, 
        {gen_server,handle_msg,5, 
         [{file,"gen_server.erl"},{line,661}]}, 
        {proc_lib,init_p_do_apply,3, 
         [{file,"proc_lib.erl"},{line,240}]}]}, 
      {<0.98.0>, 
       {amqp_params_network,<<"guest">>,<<"guest">>,<<"/">>, 
        "localhost",5672,0,0,10,infinity,none, 
        [#Fun<amqp_auth_mechanisms.plain.3>, 
        #Fun<amqp_auth_mechanisms.amqplain.3>], 
        [],[]}}], 
      []}, 
     {gen_server,try_terminate,3,[{file,"gen_server.erl"},{line,643}]}, 
     {gen_server,terminate,7,[{file,"gen_server.erl"},{line,809}]}, 
     {proc_lib,init_p_do_apply,3,[{file,"proc_lib.erl"},{line,240}]}]} 
** exception exit: {{function_clause, 
         [{amqp_gen_connection,terminate, 
          [{undef, 
            [{rabbit_misc,ntoab,[{127,0,0,1}],[]}, 
            {rabbit_net,connection_string,2,[]}, 
            {amqp_network_connection,try_handshake,3,[]}, 
            {amqp_gen_connection,handle_call,3,[]}, 
            {gen_server,try_handle_call,4, 
             [{file,"gen_server.erl"},{line,629}]}, 
            {gen_server,handle_msg,5, 
             [{file,"gen_server.erl"},{line,661}]}, 
            {proc_lib,init_p_do_apply,3, 
             [{file,"proc_lib.erl"},{line,240}]}]}, 
           {<0.98.0>, 
           #amqp_params_network{ 
            username = <<"guest">>,password = <<"guest">>, 
            virtual_host = <<"/">>,host = "localhost",port = 5672, 
            channel_max = 0,frame_max = 0,heartbeat = 10, 
            connection_timeout = infinity,ssl_options = none, 
            auth_mechanisms = 
             [#Fun<amqp_auth_mechanisms.plain.3>, 
             #Fun<amqp_auth_mechanisms.amqplain.3>], 
            client_properties = [],socket_options = []}}], 
          []}, 
         {gen_server,try_terminate,3, 
          [{file,"gen_server.erl"},{line,643}]}, 
         {gen_server,terminate,7, 
          [{file,"gen_server.erl"},{line,809}]}, 
         {proc_lib,init_p_do_apply,3, 
          [{file,"proc_lib.erl"},{line,240}]}]}, 
        {gen_server,call,[<0.99.0>,connect,infinity]}} 
    in function gen_server:call/3 (gen_server.erl, line 212) 

Я не получаю, почему я получаю эту ошибку?

ответ

1

[{undef,[{rabbit_misc означает, что он не может найти функцию.

вам следует попробовать выполнить программу с помощью erl -pa /your_path_beam и поместить туда все .beam-файлы.

Другой способ - использовать rebar3, где вы можете легко создать приложение и добавить amqp_client зависимость (от https://hex.pm/).

Это очень похоже на java maven

+0

да есть некоторые проблемы с пакет, доступный в качестве .deb в RabbitMQ сайте. Я взял исходный код и теперь строю свой рабочий режим – rajesh6115