我在Spring AMQP中使用RabbitMQ。我想向MQ发送一些消息,然后只获取这条消息(通过ID或其他方式)。
现在,我有一个侦听器,它接收发送到MQ的每个消息:
val latch = CountDownLatch(1)
@RabbitListener(queues = arrayOf(RabbitMqConfig.QUEUE_NAME))
fun receiveMessage(message: Message) {
logger.info("Received message with body = ${message.body}")
latch.countDown()
}但是如何通过id获取特定的消息呢?我读过关于correlationId的文章,但是在RabbitTemplate类中没有correlationId接收的方法。
发布于 2018-02-06 22:21:09
还有一个AsyncRabbitTemplate,它在调用它的sendAndReceive方法之一时返回一个ListenableFuture<?>。
当收到异步回复时,您可以将状态存储在rest控制器(或数据库)中,用户可以查询该状态。
https://stackoverflow.com/questions/48637401
复制相似问题