2017-06-16 7 views
0

私はspring camel rabbitmqの初心者です。優先順位の順番でメッセージを取得できません。ラブラブrabbitmq

私はこのように、生産者側の交換にヘッダをそれを設定することにより、メッセージヘッダ内のメッセージの優先度を設定することができる午前:

exchange.getOut().setHeader("rabbitmq.PRIORITY", 1); 

をしかし、彼らは優先度が順番に来るいけないメッセージを消費しながら。助けて !!

私は適切にrabbitmqその優先順位ヘッダのWebインターフェイスで見ることができますが、慎重にthis documentのセクション「消費者との対話」をお読みください

答えて

0

問題がありました。 問題は、camelエンドポイントを使用してx-max-priorityを設定できなかったことでした。 queueArgsConfigurerオプションで追加する必要があります。

@Component(value="QueueArgsConfigurer") 
public class QueueArgsConfigurer implements ArgsConfigurer { 
@Override 
public void configurArgs(Map<String, Object> map) { 
    map.put("x-max-priority", 3); 
} 

} 

をそして、このようなエンドポイントqueueArgsConfigurerオプションをキューに追加します: は、私たちがこのようArgsConfigurerインターフェイスを実装する必要があり、これを行うために、私はそのBean名によってQueueArgsConfigurerを取得springを使用しておりますので queueArgsConfigurer =#QueueArgsConfigurer 。

1

を設定します。 RabbitMQ Users Listで回答を検索するか、質問されていない場合は質問を投稿する必要があります。

+0

メッセージが既にキューに入れられている場合は、消費者を添付します。メッセージの優先順位を決める必要がありますか?私はその後、メッセージを公開していません。 –

関連する問題