2015-10-07 97 views
0

如何更改使我的队列持久的默认行为?我希望他们不耐用。队列在运行时创建,作为websockets的后端。 定义了一个默认交换,其持久特性设置为TRUE。我在交流中玩了一下,但不能像预期那样工作。RabbitMQ - 非持久队列

+0

您使用什么语言/库?或者你想从管理网页上做到这一点? –

+0

我正在使用Java和Spring Websocket框架。它使用STOMP端点连接到RabbitMQ。 – Damian

回答

1

通常,您只需在任何声明该队列的库中设置“durable = false”。

例如,

蟒蛇:channel.queue_declare(queue='hello', durable=True)

的java: boolean durable = true; channel.queueDeclare("hello", durable, false, false, null);

,你可以找到RabbitMQ.com

worker queue例如其他语言的例子

您应该咨询文件您正在使用的库,但

+0

我看不到在库中配置它的方法。定义了一个交换:Exchange:(AMQP默认),其持久设置为true。所有消息都经过这个交换。问题是它的属性不能改变我猜... – Damian

2

当你声明使用信道等级的队列,你可以看到这些参数:

Queue.DeclareOk queueDeclare(String queue, boolean durable, boolean exclusive, boolean autoDelete, 
          Map<String, Object> arguments) throws IOException; 

我使用:

'amqp-client:3.5.4'