Sono un principiante che cerca di implementare lo scambio di intestazioni nel client java. sono consapevole che questo è l'argomento vincolante "x-match". Quando l'argomento "x-match" è impostato su "any", è sufficiente un solo valore di intestazione corrispondente. In alternativa, impostare "x-match" su "all" richiede che tutti i valori debbano corrispondere. ma qualcuno può fornirmi un codice scheletro per una migliore comprensione.Come si implementa lo scambio di intestazioni in RabbitMQ utilizzando Java?
7
A
risposta
20
per usare un header scambio non vi resta che dichiarare la vostra scambio come tipo intestazioni:
channel.exchangeDeclare("myExchange", "headers", true);
allora avete bisogno di dichiarare una coda che sarà la destinazione finale dei messaggi prima di un consumatore li consuma:
Ora è necessario associare lo scambio alla coda dichiarando un'associazione. In questa dichiarazione è dove si impostano le intestazioni che si desidera per il routing dei messaggi dalla propria centralina alla coda. Un esempio potrebbe essere:
Map<String, Object> bindingArgs = new HashMap<String, Object>();
bindingArgs.put("x-match", "any"); //any or all
bindingArgs.put("headerName#1", "headerValue#1");
bindingArgs.put("headerName#2", "headerValue#2");
...
channel.queueBind("myQueue", "myExchange", "", bindingArgs);
...
questo creerà il legame con HeaderName # 1 e 2 HeaderName #. Spero che aiuti!
0
Primo scambio dichiarare con il tipo di intestazioni: -
channel.exchangeDeclare("Exchange_Header", "headers", true);
quindi dichiarare coda: -
channel.queueDeclare("Queue", true, false, false, null);
Ora Definire come intestazione e associarlo con coda: -
Map<String,Object> map = new HashMap<String,Object>();
map.put("x-match","any");
map.put("First","A");
map.put("Fourth","D");
channel.queueBind("Queue", "Exchange_Header", ROUTING_KEY ,map);
Selezionare questa : - http://codedestine.com/rabbitmq-headers-exchange/
Problemi correlati
- 1. Problemi con lo scambio fanout RabbitMQ
- 2. Scambio di argomenti con scambio diretto in RabbitMQ
- 3. Quando utilizzare lo scambio diretto sullo scambio di fanout
- 4. Ottenere tutte le code di uno scambio in RabbitMQ
- 5. RabbitMQ e node-amqp: lo scambio in modalità confermata non conferma - perché?
- 6. Scambio di lettere perse Messaggi di caduta di RabbitMQ
- 7. RabbitMQ Java client Utilizzando DefaultConsumer vs QueueingConsumer
- 8. Implementa un'interfaccia Java utilizzando Spring (AOP?)
- 9. RabbitMQ Scambi di argomenti: 1 scambio vs più scambi
- 10. RabbitMQ Dichiara scambio dal terminale - Accesso rifiutato:/api/exchange/
- 11. Spring AMQP RabbitMQ che implementa la coda di priorità
- 12. RabbitMq esegue round-robin dallo scambio alle code
- 13. Come si implementa la priorità delle attività utilizzando un ExecutorService in Java 5?
- 14. per lo scambio di equazioni nel codice
- 15. Come funziona lo scambio delle variabili internamente?
- 16. Intestazioni di posta personalizzate utilizzando MIME in Java
- 17. Come funziona RabbitMQ battito cardiaco
- 18. RabbitMQ non si avvia
- 19. Come si implementa un thread java veramente asincrono
- 20. Come si implementa un'interfaccia in IronPython?
- 21. RabbitMQ e canali filo di sicurezza Java
- 22. Come gestire lo scambio di dati del dominio cross app
- 23. Problema con lo scambio di bit in Haskell
- 24. Implementa dinamicamente l'interfaccia in Groovy utilizzando invokeMethod
- 25. Lo std :: sort implementa Quicksort?
- 26. Che cos'è lo scambio di prototipi surrogati in javascript?
- 27. Come si implementa una schermata di accesso in GWT?
- 28. Esiste una versione di Smalltalk con lo scambio di messaggi distribuiti in stile Erlang?
- 29. javascript implementa lo scoping lessicale?
- 30. RabbitMQ: meccanismo di ripristino connessione
Grazie! :), è chiaro ora. – user2857129
Buona spiegazione della relazione scambio/coda. Grazie! – user1828780