当前位置: 首页 > 知识库问答 >
问题:

Spring云流支持从运行时未知的Rabbit队列读取吗?

冀望
2023-03-14

我正在编写一个Java应用程序,它使用Spring Cloud Stream从输入RabbitMQ队列读取消息,处理消息,然后将新消息写入输出RabbitMQ交换。当输入队列名称在编译时已知时,这将非常有效。

我现在有一个新的需求,即应用程序需要支持在运行时发现新的RabbitMQ队列,然后将那些新队列用于输入(从新队列中读取消息)。通过RabbitMQ中的REST API获取队列列表是很简单的,但我看不到使用可变队列名从这些新输入队列中读取消息的方法。

我使用的是Spring Cloud Stream v.3.0.3。Spring云流支持这个用例吗?

共有1个答案

齐昆
2023-03-14

不,s-c-stream从来不是为这种情况设计的。当然,注册新绑定的API是存在的,并且可以实现这一点,但迟早会有目的地配置的问题,以及其他精细打印样式的细节,这些都需要事先知道。总之,这也将与微服务概念背后的基本思想和理想相矛盾--只做一件事,但要以尽可能简单的方式做好它。你所描述的似乎不属于那一类

 类似资料:
  • 我有一个项目,我们将在rabbit中有数百个(可能数千个)队列,每个队列都需要一个消费者池来使用。 在rabbit(使用spring amqp)中,您有rabbitlistener注释,它允许我静态地分配这个特定消费者将处理的队列。 我的问题是,对于rabbit和spring,是否有一种干净的方法可以让我获取一段队列(比如以a-c开头的队列),然后还可以侦听消费者运行时创建的任何队列。 示例(开始

  • 我有以下设置: 外部应用程序写入到jms队列 jms队列也是外部的,所以这里不可能进行配置 运行在Glassfish上的现有应用程序,使用ActiveMQ将服务器连接到jms队列 现有的应用程序是一个MessageDriven bean,实现了MessageListener接口(当消息放在队列中时,当前正在处理消息) 新的要求是消息只能在02:00到04:00的时间段内处理 如何最好地限制Mess

  • 我们正在将我们的工作和数据流从Spring XD迁移到Kubernetes上的Spring cloud数据流。 Spring cloud数据流有商业支持吗?任何链接都有帮助。

  • 我正在使用 spring-cloud d-stream: 3.1.4 spring-cloud d-stream-binder-兔子:3.1.4 我在“属性”下的此处配置了一个消费者。我的问题是,当使用者在rabbitmq服务器可用之前启动时,我可以看到使用者会重新启动,直到连接可用为止。然而,DLX和DLQ之间创建的绑定并不相同。 如果消费者启动时Rabbitmq可用:DLQ绑定到DLX,路由密

  • 问题内容: 我有一个项目,我们将在兔子中有数百个(可能是数千个)队列,并且这些队列中的每个队列都需要由一组消费者使用。 在Rabbit(使用spring-amqp)中,您具有rabbitlistener批注,该批注使我可以静态分配此特定消费者将要处理的队列。 我的问题是-对于兔子和春天,有没有一种干净的方法可以让我抓取一部分队列(比如说以ac开头的队列),然后还监听使用者运行时创建的任何队列。 示

  • 好的,我有一个csv文件: 我正在使用com.opencsv。CSVReader库。 我需要从行“Detail”中读取,但是我不知道它是哪一行,因为它前面可能有未定义的行数。摘要从第13行开始,但我知道如何使用它。 有没有一个简单的模式,让opencsv找到“细节”行并从那里开始?或者我需要以某种方式计算详细信息之前的行并将其作为参数传递到OPENCSV中吗?