я следующие два конфигурации классы:Как использовать несколько vhosts в проекте Spring RabbitMQ?
@Configuration
@EnableRabbit
@Import({ LocalRabbitConfigA.class, CloudRabbitConfigA.class })
public class RabbitConfigA {
@Autowired
@Qualifier("rabbitConnectionFactory_A")
private ConnectionFactory rabbitConnectionFactory;
@Bean(name = "admin_A")
AmqpAdmin amqpAdmin() {
return new RabbitAdmin(rabbitConnectionFactory);
}
@Bean(name = "Exchange_A")
DirectExchange receiverExchange() {
return new DirectExchange("Exchange_A", true, false);
}
}
И
@Configuration
@EnableRabbit
@Import({ LocalRabbitConfigB.class, CloudRabbitConfigB.class })
public class RabbitConfigB {
@Autowired
@Qualifier("rabbitConnectionFactory_B")
private ConnectionFactory rabbitConnectionFactory;
@Bean(name = "admin_B")
AmqpAdmin amqpAdmin() {
return new RabbitAdmin(rabbitConnectionFactory);
}
@Bean(name = "Exchange_B")
DirectExchange receiverExchange() {
return new DirectExchange("Exchange_B", true, false);
}
}
Обратите внимание, что классы LocalRabbitConfigA и LocalRabbitConfigB определяют ConnectionFactory, который подключается к другому ВХосту.
При запуске приложения (в пределах Tomcat) все биржи создаются в как VHosts.
Вопрос в том, как определить, что определенный Exchange/Queue создается определенным ConnectionFactiory?
Так что VHost A содержит только Exchange_A и VHost B только Exchange_B?
Я только что нашел это тоже, но не посмел ответить на мой вопрос так быстро ... Но в любом случае, спасибо много! –