У меня возникли проблемы с подключением к AMQP в моем тестировании rSpec. У меня есть код, как это:Не удается подключиться к AMQP дважды, чтобы отправлять ему сообщения
Module Rabbit
Class Client
def start
EventMachine.run do
connection = AMQP.connect(Settings_object) #it holds host, username and password information
channel = AMQP::Channel.new(connection)
channel.queue("queue_name", :durable => true)
channel.default_exchange.publish("A test message", :routing_key => "queue_name")
end
end
end
Module Esper
Class Server
def start
EventMachine.run do
connection = AMQP.connect(Settings_object) #it holds host, username and password information
=begin
Some code to subscribe to queues
=end
end
end
end
Моя проблема в том, когда я запустить RSpec:
@client = Rabbit::Client.new
@server = Esper::Server.new
Thread.new do
@client.start
end
Thread.new do
@server.start
end
На первый клиент может подключиться к AMQP, и сервер не делает, но когда я запустите его во второй раз, затем Клиент не сможет подключиться к серверу. Я не могу справиться с этой проблемой. Я не вижу причины, по которой клиент перестанет подключаться, когда я запустил его во второй раз?