Использование MQ сервера для метода с возвращаемым значением
Есть Java Spring Boot приложение и операция создания требует вернуть id созданного объекта, но запрос на создание приходит через встроенный Active MQ таким образом:
@Component
@RequiredArgsConstructor
public class JmsProducer {
private final JmsTemplate jmsTemplate;
public void send() {
Message message = Message.builder()
.payload("test payload")
.build();
jmsTemplate.convertAndSend(JmsConfig.MESSAGE_QUEUE, message);
}
}
@Component
@RequiredArgsConstructor
public class JmsConsumer {
private final MessageRepository messageRepository;
@JmsListener(destination = JmsConfig.MESSAGE_QUEUE, containerFactory = "jmsFactory")
public void receiveMessage(@Payload Message message) {
long id = messageRepository.create(message);
// как-то вернуть id тому кто делал запрос
}
}
После того как сообщение получено, и репозиторий вернул id его нужно каким-то образом вернуть тому кто делал запрос что бы id вернулся из метода send(), но convertAndSend ничего не возвращает.
Это как-то можно сделать? Если да, то как?