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

春云流兔活页夹路由键始终' # '

杜元明
2023-03-14

版本:Spring Boot: 1.4.2 .发布春云Deps:布里克斯顿。SR7

这是我的申请。处理器应用程序的属性。

logging.level.=DEBUG
server.port=0
logging.file=traveller-events-processor.log
server.port=0
spring.cloud.stream.rabbit.bindings.input.consumer.bindingRoutingKey='aa'
spring.cloud.stream.rabbit.bindings.input.consumer.bindingRoutingKey=aa
spring.cloud.stream.rabbit.bindings.input.consumer.bindQueue=true
spring.cloud.stream.rabbit.bindings.input.consumer.routing-key='aa'
spring.cloud.stream.rabbit.bindings.input.consumer.routingKey='aa'
spring.cloud.stream.bindings.input.destination=events-exchange
spring.cloud.stream.bindings.input.group=eventconsumersgroup
spring.cloud.stream.bindings.output.destination=work.out
spring.cloud.stream.bindings.output.contentType=text/plain
spring.cloud.stream.bindings.output.binder=rabbit
spring.cloud.stream.bindings.output.group=traveller-events-output-group

当我启动此应用程序时,将按预期创建事件交换,并将其绑定到名为:events exchange的队列。eventconsumers组(也可以)。但routingKey始终为“#”。我已经尝试了从各种文档中找到的所有选项。我在这里遗漏了什么吗?

我希望这个应用程序只订阅某些消息(我想通过路由密钥实现)。

共有1个答案

戎志勇
2023-03-14

我看到布里克斯顿了。SR7使用了SpringCloudStream的1.0.2.RELEASE,我似乎没有发现routingKey是Rabbit的消费者属性。是否要升级到SpringCloudCamden版本或最新版本,以便您可以尝试使用消费者属性:bindingRoutingKey

 类似资料:
  • 我正在尝试用rabbit活页夹配置一个Spring-Cloud-Stream应用程序 下面是我的配置: 我的消费者java代码: 当没有错误发生时,所有工作正常。但当我模拟一个异常时,我得到了以下异常: 当兔子绑定器尝试将消息发送回 DLQ 时,会引发此错误。 事实上,错误消息有效负载包含一个 函数中使用< code>StreamBridge发送消息时,我也遇到了同样的问题。如果发送功能失败,我不

  • 我们有一个要求,我们正在消费来自一个主题的消息,然后发生了一些丰富,然后我们将消息发布到另一个主题。以下是事件 使用者 - 使用消息 扩充 - 扩充使用的消息 制作人 - 已发布 向其他主题发送的丰富消息 我正在使用Spring cloud kafka binder,一切正常。突然,我们观察到生产者正在向主题发送重复的消息,然后我们使生产者是幂等的。为了更好地控制,我们将autocommitOff

  • spring . cloud . stream . Kafka . binder . zknodes是必须的吗?如果价值缺失会发生什么?

  • 如何使用Spring Cloud Stream Kafka Binder为生产者启用压缩(例如GZIP)?

  • 我有一个使用kafka活页夹的spring cloud stream应用程序,它可以消费和发送消息。在应用程序中,我使用重试策略配置自定义错误处理程序,并将不可重试的异常添加到处理程序中。配置示例: 但是我看到,如果异常抛出,比应用程序重试处理消息3次。预期行为-如果App. MyCustomException.class抛出,将不会重复消费消息。如何为Spring云流kafka绑定应用程序配置重

  • 我们如何使用Spring-Cloud-stream-binder-kinesis建立两个AWS kinesis连接? 第一个连接:Spring应用程序和AWS kinesis流在同一个AWS账户中。 第二个连接:其他AWS运动流位于不同的AWS帐户中。 从spring应用程序到不同AWS帐户中的两个不同运动流是否可能有两个不同的连接?如果是,我们如何实施?