2014-06-19 39 views
0

我使用ActiveMQ作爲消息代理,並使用Qpid proton c庫連接到Erlang進行消息傳遞服務,並且在運行ActiveMQ的情況下似乎可以很好地處理以下命令。AMQP使用Elixir將連接字符串連接到Active MQ

qpidpn:subscribe("amqp://127.0.0.1/topic://destination"). 
qpidpn:publish(#{address => "amqp://127.0.0.1/topic://destination", body => "hello"}). 
flush(). 
qpidpn:stop(). 
q(). 

我需要寫一個模塊中仙丹在二郎做上述連接到ActiveMQ代理相同。 Erlang雖然使用qpid庫連接到消息代理服務。請建議。

回答

1

我還沒有嘗試過下面的代碼,但從Elixir調用Erlang庫很簡單。

試試這個:

:qpidpn.subscribe("amqp://127.0.0.1/topic://destination") 
:qpidpn.publish(%{:address => "amqp://127.0.0.1/topic://destination", :body => "hello"}) 
:flush() 
:qpidpn.stop() 
:q() 

正如我說的,我還沒有嘗試過(也不能,因爲我沒有AMQP或qpidn安裝),但可能是沿着你行正在尋找。

+0

flush()和q()僅在Erlang shell中可用。這些不應該在OP要寫的模塊中需要。 –