【发布时间】:2017-02-05 16:49:22
【问题描述】:
我正在创建消息应用程序,其中应用程序 A 需要使用 rabbitMQ 向应用程序 B 发送消息。我正在使用 Phoenix 进行开发,在 rabbitMQ 网站上我找到了如何使用 elixir 实现 rabbitmq 的教程,但我不知道如何在我的 Phoenix 应用程序中使用它。我尝试将在兔子教程网站上找到的代码添加到我的 Phoenix page_controller.ex
defmodule ApplicationA.PageController do
use ApplicationA.Web, :controller
use AMQP
def index(conn, _params) do
{:ok, connection} = AMQP.Connection.open
{:ok, channel} = AMQP.Channel.open(connection)
AMQP.Queue.declare(channel, "hello")
AMQP.Basic.publish(channel, "", "hello", "Hello World!")
IO.puts " [x] Sent 'Hello World!'"
AMQP.Connection.close(connection)
render conn, "index.html"
end
end
但我收到此错误
no match of right hand side value: {:error, :econnrefused}
在第 6 行
{:ok, connection} = AMQP.Connection.open
有人帮助我如何以好的方式做到这一点?
【问题讨论】:
-
RabbitMQ 是否在 localhost 端口 5672 上运行?
标签: erlang rabbitmq elixir phoenix-framework