/ / Spring RabbitTemplate - Ako vytvoriť fronty automaticky po odoslaní - java, spring, rabbitmq, spring-amqp, jar-králik

Spring RabbitTemplate - Ako vytvoriť fronty automaticky po odoslaní - java, spring, rabbitmq, spring-amqp, spring-králik

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!