如何返回addAnnonceInput收到的message1,我需要将该消息返回给客户端。
@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 :(得分:0)
这是Spring Cloud Stream的一个不寻常的用法;你可能最好直接使用Spring Integration,并Messaging Gateway等待回复。
以这种方式手动执行,您需要使用CountDownLatch
或Future<?>
暂停HTTP线程,直到收到响应(或发生某些超时)。