Новый пользователь Camel здесь.
У меня есть приложение Spring Boot / Camel, и я успешно получил маршрут, который опрашивает конечную точку REST, разбивает массив JSON на пользовательские POJOS, превращает каждый из них в один из наших протобуфови затем записывает протобуф в наш RabbitMQ.
Пока все хорошо.
Однако мне потребовалось немало усилий для отладки и выполнения этого последнего шага (запись вавтобус).По сути, я никогда не мог установить соединение с шиной, используя ConnectionFactory, и вместо этого, в конце концов, выяснил, как это сделать, поместив все соединение / запись на шину, используя просто оператор .to () в DSL..
Так что мне действительно очень интересно узнать, что я делал неправильно с ConnectionFactory.Любая помощь будет высоко ценится!
Хорошо, вот что сработало:
(добавлены новые строки для ясности)
.to(“rabbitmq://hostname:5672/exchange?
username=user&
password=password&
vhost=sandbox&
exchangeType=topic&
routingKey=routingkey&
durable=false&
autoDelete=false”);
На самом деле, у меня есть быстрый вопрос здесь: Расточительно ли выполнять вышеперечисленное в том смысле, что соединение не объединяется и оно устанавливает соединение с каждой записью?
Хорошо, и это то, что не сработало и продолжало давать мне java.net.ConnectException: Connection refused
ошибка:
RabbitMQEndpoint endpoint = new RabbitMQEndpoint();
endpoint.setHostname(“hostname”);
endpoint.setVhost(“sandbox”);
endpoint.setUsername(“user”);
endpoint.setPassword(“password”);
endpoint.setPortNumber(5672);
endpoint.setRoutingKey(“routingkey”);
endpoint.setExchangeName(“exchange”);
endpoint.setExchangeType(“topic”);
endpoint.setDurable(false);
endpoint.setAutoDelete(false);
Connection connectionFactory = new RabbitMQConnectionFactorySupport().createFactoryFor(endpoint);
Так чего мне не хватает ??
Для чего стоит, если вышеприведенное соединение сработало, я собирался написать шину с помощью следующего оператора .to (),Это выглядит правильно?В частности, могу ли я указать что-нибудь после «rabbitmq:» вместо «bogusbus»?
.to(“rabbitmq:bogusbus?exchangeType=topic&exchangeName=exchange&routingKey=routingkey”);
Большое спасибо за вашу помощь!