0

Как я могу вернуть сообщение1, полученное с помощью addAnnonceInput, мне нужно вернуть это сообщение клиенту.Spring Cloud Stream RabbitMQ

@RequestMapping(method = RequestMethod.POST, value = "/annonces") 
public void addAnnonce(@RequestBody AnnonceWrapper annonceWrapper) { 
    System.out.println(annonceWrapper.toString()); 
    final Message<AnnonceWrapper> message = MessageBuilder 
                .withPayload(annonceWrapper) 
                .setReplyChannel(messageStream.acceptDemandeInput()) 
                .build(); 
    messageStream.addAnnonceOutput().send(message); 
    messageStream.acceptDemandeInput().subscribe(message1 -> System.out.println(message1.getPayload().toString())); 
} 

ответ

0

Это необычное использование Spring Cloud Stream; вам, вероятно, будет лучше использовать Spring Integration напрямую, а Messaging Gateway ждать ответа.

Выполнение этого вручную, вам нужно будет использовать CountDownLatch или Future<?>, чтобы приостановить поток HTTP до тех пор, пока не будет получен ответ (или возникнет некоторый тайм-аут).