обмен на обмен издательский rabbitMQ в java - PullRequest
0 голосов
/ 25 января 2020

У меня есть это требование, когда у меня есть две биржи 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()));
    }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...