2016-11-11 36 views
2

波紋管是死信隊列中消息的標題。我正在使用RabbitMQ。RabbitMQ:如何在標題交換中使用複雜表達式?

__TypeId__: com.example.queue.TesteDTO 
correlationId: dfbc9457-8de6-9b77-b7ad-b259d1e2ede4 
sequenceNumber: 1 
sequenceSize: 2 
x-death:  
    count: 1 
    reason: rejected 
    queue: queue.raffael.teste 
    time: 1478870283 
    exchange: 
    routing-keys: queue.raffael.teste 

我想用一個複雜的表達式來聲明並綁定一個頭兌換,說:

x-match = any 
x-death[0].count = 1 
x-death[0].count = 2 
x-death[0].count = 3 

但它不工作。這似乎只是簡單表達式的工作:

x-match = any 
simpleExpression = 1 
simpleExpression = 2 
simpleExpression = 3 

所以,請,如何讓在頭交流數組索引和組件,而不是僅僅簡單的表達式(RabbitMQ的)引用?

回答

1

單詞「點」只出現在AMQP規範中,只關於路由密鑰。 Headers Exchange不應該解析參數鍵。如果有一個包含字符串鍵「x-death [0] .count」和數字值爲1的標題,它將匹配,但只有一個包含字符串鍵「x-death」的標題和類型爲:表格陣列。