2015-10-07 100 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'