Когда обмен не существует, я не могу поймать исключение.
Он просто печатает в журнал ошибок:
Channel shutdown: channel error; protocol method: #method<channel.close>(reply-code=404, reply-text=NOT_FOUND - no exchange 'mc_topic1' in vhost 'mc_vhost', class-id=60, method-id=40).
Мой код:
rabbitTemplate.convertAndSend(producerBo.getExchange(), producerBo.getRoutingKey(), JSON.toJSONString(producerBo.getData()), message -> {
MessageProperties messageProperties = message.getMessageProperties();
messageProperties.setDeliveryMode(MessageDeliveryMode.fromInt(Optional.ofNullable(producerBo.getDeliveryMode()).orElse(2)));
if (Objects.nonNull(producerBo.getExpiration())) {
messageProperties.setExpiration(String.valueOf(producerBo.getExpiration()));
}
return message;
});