/ / Spring RabbitTemplate - Comment créer des files d'attente automatiquement à l'envoi - Java, Printemps, Rabbitmq, Printemps-Amqp, Printemps-Lapin

Spring RabbitTemplate - Comment créer des files d'attente automatiquement lors de l'envoi - java, spring, rabbitmq, spring-amqp, spring-rabbit

J'utilise RabbitMQ avec le modèle Rabbit de Spring.

Lors de l'envoi de messages aux files d'attente à l'aide des méthodes d'envoi de modèle, je souhaite que la file soit automatiquement créée / déclarée si elle n'existe pas déjà.

C'est très important car, selon notre logique métier, les noms de files d'attente sont générés au moment de l'exécution et je ne peux pas les déclarer à l'avance.

Auparavant, nous utilisions JmsTemplate et tout appel d’envoi ou de réception créait automatiquement la file d’attente.

Réponses:

1 pour la réponse № 1

Oui, vous pouvez utiliser un RabbitAdmin et admin.getQueueProperties() pour voir si la file d'attente existe et admin.declareQueue(new Queue(...)) ajouter une file d'attente. Vous devriez probablement garder trace de ceux que vous avez déjà vérifiés / créés afin d’éviter les frais généraux lors de chaque envoi.

Vous pouvez également ajouter des échanges et y lier des files d'attente avec l'administrateur.


1 pour la réponse № 2

Vous pouvez utiliser un RabbitAdmin pour déclarer automatiquement l'échange, la file d'attente et la liaison. Check-out ce fil pour plus de détails. Ce forum aussi un peu lié à votre scénario. Je n’ai cependant pas essayé le printemps avec AMQP, mais je crois que cela le ferait.

/**
* Required for executing adminstration functions against an AMQP Broker
*/
@Bean
public AmqpAdmin amqpAdmin() {
return new RabbitAdmin(connectionFactory());
}

Continuez à coder!