Spring Integration RabbitTemplate是否默认发布到持久队列?

时间:2013-11-05 18:27:59

标签: java spring integration rabbitmq amqp

我有一个执行以下代码的计划任务:

    try {
        rabbitTemplate.convertAndSend("TEST");
        if (!isOn()) {
            turnOn();
        }
    }
    catch (AmqpException e) {
        if (isOn()) {
            turnOff();
        }
    }

一切正常。它将此消息发送到默认的“AMQP默认”交换。我没有消费者在另一端消费这些消息,因为我只是确保服务器仍然存在。这些消息是否会随着时间的推移而累积并导致内存泄漏?

谢谢! ķ

1 个答案:

答案 0 :(得分:1)

你有RabbitMQ用户界面吗? 您应该能够看到正在创建的队列以及它们是否持久。上次我检查过,Spring AMQP的默认行为是创建持久队列。

查看RabbitMQ管理插件:http://www.rabbitmq.com/management.html 使用RabbitMQ Management Plugin,您还可以使用通过代码发布的消息。

关于消息会发生什么,它们只会堆积起来并堆积起来直到RabbitMQ达到其限制,然后在您清除队列或使用这些消息之前它将不再接受消息。使用默认的RabbitMQ设置,我可以在开始阻止之前向队列发送大约400万条简单文本消息。