У меня есть это требование, когда у меня есть две биржи A (messageExchange) и B (UserExchange). все сообщения от производителя должны быть опубликованы на экс. A, который связан с очередью, задачей которой является печать всех опубликованных сообщений, также A также связан с B, где теперь сообщения должны go к B, а B связан с тремя очередями Q1, Q2, Q3, которые прослушивают потребители и обрабатывать сообщения. как мне этого добиться? вот мои привязки
@Bean
public Binding exchangeBinding() {
return BindingBuilder.bind(UserExchange()).to((messageExchange())).with(AppConstants.ROUTING_KEY_EXCHANGES);
}
@Bean
public Binding messageBinding() {
return BindingBuilder.bind(MessageQueue()).to(messageExchange()).with(AppConstants.ROUTING_KEY_MESSAGES);
}
@Bean
public Binding addUserBinding() {
return BindingBuilder.bind(UserAddQueue()).to(UserExchange()).with(AppConstants.ROUTING_KEY_ADD);
}
@Bean
public Binding deleteUserBinding() {
return BindingBuilder.bind(UserDeleteQueue()).to(UserExchange()).with(AppConstants.ROUTING_KEY_DELETE);
}
@Bean
public Binding editUserBinding() {
return BindingBuilder.bind(UserEditQueue()).to(UserExchange()).with(AppConstants.ROUTING_KEY_EDIT);
}
сообщение производителя
public void send(String routing_key, User user) {
try {
this.rabbitTemplate.convertAndSend(AppConstants.MESSAGE_EXCHANGE, routing_key, (Object)user);
}
catch (AmqpException e) {
System.out.println(String.format("Failed to publish message - error : %s ", e.getMessage()));
}
}