Spring RabbitTemplate - 如何在发送时自动创建队列

Spring RabbitTemplate - How to create queues automatically upon send(Spring RabbitTemplate - 如何在发送时自动创建队列)
本文介绍了Spring RabbitTemplate - 如何在发送时自动创建队列的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着跟版网的小编来一起学习吧!

问题描述

我将 RabbitMQ 与 Spring 的 RabbitTemplate 一起使用.

I am using RabbitMQ together with Spring's RabbitTemplate.

当使用模板发送方法向队列发送消息时,我希望队列不存在时自动创建/声明.

When sending messages to queues using the template send methods, I want the queue to automatically be created/declared if it is not already exists.

这非常重要,因为根据我们的业务逻辑,队列名称是在运行时生成的,我无法提前声明它们.

It is very important since according to our business logic queue names are generated on run-time and I cannot declare them in advance.

之前我们使用 JmsTemplate 并且任何发送或接收的调用都会自动创建队列.

Previously we have used JmsTemplate and any call to send or receive automatically created the queue.

推荐答案

是的,你可以使用 RabbitAdminadmin.getQueueProperties() 来查看队列是否存在和 admin.declareQueue(new Queue(...)) 添加队列.您可能应该跟踪您已经检查/创建了哪些,以避免每次发送的开销.

Yes, you can use a RabbitAdmin and admin.getQueueProperties() to see if the queue exists and admin.declareQueue(new Queue(...)) to add a queue. You should probably keep track of which one's you've already checked/created in order to avoid the overhead on every send.

您还可以使用管理员添加交换并将队列绑定到它们.

You can also add exchanges and bind queues to them with the admin.

这篇关于Spring RabbitTemplate - 如何在发送时自动创建队列的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持跟版网!

本站部分内容来源互联网,如果有图片或者内容侵犯了您的权益,请联系我们,我们会在确认后第一时间进行删除!

相关文档推荐

How to implement RecyclerView with section header depending on category?(如何根据类别实现带有节标题的 RecyclerView?)
How to generate JNI header file in Eclipse(如何在 Eclipse 中生成 JNI 头文件)
Setting a custom HTTP header dynamically with Spring-WS client(使用 Spring-WS 客户端动态设置自定义 HTTP 标头)
Could you technically call the string[] anything in the main method?(从技术上讲,您可以在 main 方法中调用 string[] 吗?)
What is the proper way of setting headers in a URLConnection?(在 URLConnection 中设置标头的正确方法是什么?)
How to overwrite http-header quot;Hostquot; in a HttpURLConnection?(如何覆盖 http-header “主机在 HttpURLConnection 中?)