Používam RabbitMQ spolu s RabbitTemplate na jar.
Pri odosielaní správ do frontu pomocou metód odosielania šablón chcem, aby sa fronta automaticky vytvorila / deklarovala, ak už neexistuje.
Je to veľmi dôležité, pretože podľa našej obchodnej logiky sa v run-time vytvárajú názvy frontu a nemôžem ich vopred deklarovať.
Predtým sme použili JmsTemplate a akýkoľvek hovor na odosielanie alebo prijímanie automaticky vytvoril frontu.
odpovede:
1 pre odpoveď č. 1Áno, môžete použiť a RabbitAdmin
a admin.getQueueProperties()
či existuje fronta a admin.declareQueue(new Queue(...))
pridať frontu. Pravdepodobne by ste mali sledovať, ktorý z nich ste už skontrolovali / vytvorili, aby ste predišli režijným nákladom pri každom odoslaní.
Môžete tiež pridať výmeny a viazať fronty na ne s administrátorom.
1 pre odpoveď č. 2
RabbitAdmin môžete použiť na automatické deklarovanie výmeny, frontu a väzby. Odhlásiť sa toto vlákno pre podrobnejšie informácie. toto forum tiež trochu súvisí s vašim scenárom. Snažil som sa jar s AMQP hoci, ale verím, že to urobí.
/**
* Required for executing adminstration functions against an AMQP Broker
*/
@Bean
public AmqpAdmin amqpAdmin() {
return new RabbitAdmin(connectionFactory());
}
Udržujte kódovanie!