你的问题是:
Amqp.inboundGateway(getListenerContainer(queue, concurrentConsumers, prefetchCount)
同时你的下游流量是
单向的
并且不返回任何回复:
.handle(p -> {
UpdateSecretEvent payload = (UpdateSecretEvent) p.getPayload();
System.out.println("Account: " + payload.getAccountId() + " has secret: " + payload.getNewSecret());
})
.get();
或
.handle(p -> {
UpdateEmailEvent payload = (UpdateEmailEvent) p.getPayload();
System.out.println("Account: " + payload.getAccountId() + " has email: " + payload.getEmail());
})
.get();
因此
AmqpInboundGateway
在其中等待答复
MessagingTemplate.sendAndReceive()
对于
private static final long DEFAULT_TIMEOUT = 1000L;
Amqp.inboundAdapter()
这就是诀窍。