2016-04-27 2 views
0

Я хочу настроить два сервера rabbitmq на двух компьютерах, эти два сервера будут взаимодействовать в двух разных портах. Эти две машины, которые я использую, являются pingable, и у них есть одно и то же имя пользователя/пароль Rabbitmq. Согласно документации RabbitMQ, для любых серверов, которые хотят использовать очередь сообщений, требуется только 5672. , когда я пытаюсь соединиться с другим портом, скажем, например, 567, я получаю эту ошибку:Сервер Rabbitmq: как настроить много портов для службы Amqp

Connection refused: connect 
    at java.net.DualStackPlainSocketImpl.waitForConnect(Native Method) 
    at java.net.DualStackPlainSocketImpl.socketConnect(Unknown Source) 
    at java.net.AbstractPlainSocketImpl.doConnect(Unknown Source) 
    at java.net.AbstractPlainSocketImpl.connectToAddress(Unknown Source) 
    at java.net.AbstractPlainSocketImpl.connect(Unknown Source) 
    at java.net.PlainSocketImpl.connect(Unknown Source) 
    at java.net.SocksSocketImpl.connect(Unknown Source) 
    at java.net.Socket.connect(Unknown Source) 
    at com.rabbitmq.client.impl.FrameHandlerFactory.create(FrameHandlerFactory.java:32) 
    at com.rabbitmq.client.ConnectionFactory.newConnection(ConnectionFactory.java:676) 
    at com.rabbitmq.client.ConnectionFactory.newConnection(ConnectionFactory.java:722) 
    at rmqServer.ServerSimple.init(ServerSimple.java:75) 
    at rmqServer.ServerSimple.main(ServerSimple.java:132) 
Exception in thread "main" java.lang.NullPointerException 
    at rmqServer.ServerSimple.activateConsumer(ServerSimple.java:97) 
    at rmqServer.ServerSimple.main(ServerSimple.java:133) 

Вот код, который я использую:

connectionFactory = new ConnectionFactory(); 
    connectionFactory.setUsername("guest"); 
    connectionFactory.setPassword("guest"); 
    connectionFactory.setHost("localhost"); 
    connectionFactory.setPort(5672); 

ответ

0

Прежде всего, использовать 567, или любой порт с числом меньше 1024, не такая хорошая идея. Конечно, если порт свободен на вашем компьютере, вы можете его использовать, но просто чище выбрать один, чем 1024. Here - это список известных портов.
Для второй части порт должен быть зарегистрирован в rabbitmq в его конфигурации. Все хорошо объяснено in the docs, просто найдите tcp_listeners. Я лишь одну часть:

[ {кролик, [{tcp_listeners, [5673]}]}].
Этот пример изменяют RabbitMQ порт прослушивает для клиентских подключений AMQP 0-9-1 от 5672 до 5673.

0

Этот код сделал трюк [ { кролик, [ {tcp_listeners, [ 5673,5672]}, {%% tcp_listeners, [{ "127.0.0.1", 5672}, {%% "127.0.0.1", 5673}]}, {
loopback_users, []} ] } ].

Спасибо за помощь!

Смежные вопросы