从RabbitMQ获取id的消息

时间:2018-02-06 07:14:34

标签: java spring rabbitmq spring-amqp

我在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接收。

1 个答案:

答案 0 :(得分:0)

还有AsyncRabbitTemplate在调用ListenableFuture<?>方法时返回sendAndReceive

收到异步回复后,您可以将状态存储在其余控制器(或数据库)中,用户可以查询状态。