Я пытаюсь использовать SimpleMessageListenerContainer и фабрику соединений по умолчанию, я не хочу использовать свойства, использующие свойства Spring deault spring.rabbitmq. *, Я хотел бы установить свойства соединения во время выполнения, когда фабрика соединений вводится.Но мой контейнер пытается подключиться к localhost, любая помощь очень ценна. Мой пример кода выглядит так:
@Bean
public SimpleMessageListenerContainer queueListenerContainer(AbstractConnectionFactory connectionFactory,
MessageListenerAdapter listenerAdapter) {
connectionFactory.setHost(Arrays.toString(rabbitMqConfig.getSubscriberHosts()));
connectionFactory.setVirtualHost("hydra.services");
connectionFactory.setPort(rabbitMqConfig.getSubscriberPort());
connectionFactory.setUsername(rabbitMqConfig.getSubscriberUsername());
connectionFactory.setPassword(rabbitMqConfig.getSubscriberPassword());
SimpleMessageListenerContainer container = new SimpleMessageListenerContainer();
container.setQueueNames(rabbitMqConfig.getSubscriberQueueName());
container.setConnectionFactory(connectionFactory);
// container.setQueueNames("SampleQueue"); /*This just for testing.. !*/
container.setMessageListener(listenerAdapter);
container.setAcknowledgeMode(AcknowledgeMode.MANUAL);
container.setDeclarationRetries(5);// This is default to 3, We can twick this and move this to prop
container.setPrefetchCount(100); //Tell the broker how many messages to send to each consumer in a single request.
return container;
}
Но все же код этого контейнера пытается подключиться к локальному хосту.Журналы:
[30m2019-03-17 09: 35: 43,335 [0; 39m [34mINFO [0; 39m [[34mmain [0; 39m] [33morg.springframework.amqp.rabbit.connection.AbstractConnectionFactory [0; 39m: Попытка подключения к: [localhost: 5672] [30m2019-03-17 09: 35: 45,499 [0; 39m [34mINFO [0; 39m [[34mmain [0; 39m] [33morg.springframework.amqp.rabbit.listener.AbstractMessageListenerContainer [0; 39m: брокер недоступен;не может принудительно вызвать объявления очереди во время запуска [30m2019-03-17 09: 35: 45,778 [0; 39м [34mINFO [0; 39м [[34mqueueListenerContainer-1 [0; 39м] [33morg.springframework.amqp.rabbit.connection.AbstractConnectionFactory [0; 39m: Попытка подключения к: [localhost: 5672] [30m2019-03-17 09: 35: 48,365 [0; 39m [34mINFO [0; 39m [[34mmain [0; 39m] [33morg.springframework.boot.StartupInfoLogger [0; 39m: запуск приложения DftpEppScrubber через 162,706 секунд (JVM работает в течение 164,364)
Редактировать 2
При этом возникает ошибка неизвестного хоста.Сначала я подумал, что это проблема с брандмауэром, но я проверил соединение, все кажется правильным.Я не уверен, что здесь проблема!