spring-amqp相关内容

SpringBoot 禁用 rabbitTemplate 用于兔子健康检查的重试策略

我的 SpringBoot 配置包含非常强大的 rabbitTemplate 重试策略 弹簧:兔米克:模板:重试:启用:真初始间隔:500最大尝试:10乘数:5最大间隔:60000 这个配置的问题是当健康端点被调用并且rabbitMQ关闭时,连接挂起真的很长时间. 添加像 这样的属性 spring.rabbitmq.connection-timeout=500 或spring.rab ..

如何启动、停止和重新连接 spring rabbitmq 侦听器容器及其连接?

我有一个互联网连接,其中出口网关会定期更改.在发生这种情况之前的几秒钟,我收到了我的 Spring 应用程序的事件或回调通知.我想停止我的兔子消费者和连接,然后在几秒钟后再次连接(当我的网络连接恢复时). 我正在使用 spring amqp 基于注释的方法,但我也可以切换到另一种实现. 我知道 spring-amqp 正在为我重新连接,但我想自己这样做以更好地控制它.我如何以编程方式完 ..
发布时间:2021-08-20 18:50:26 其他开发

RabbitMQ 监听器在 MessageListener 抛出异常时停止监听消息

我使用 Spring AMQP 来处理 RabbitMQ 中的消息. 以下是问题: 1.(比如说)RabbitMQ 中有3条处于就绪状态的消息2. 第一个被 MessageListener 拾取并开始处理.(说)它最终抛出一个异常 3. 在这种情况下,容器保持运行状态,但在我重新启动容器之前不会处理剩余的 2 条消息.此外,第一条消息保持未确认状态. 这是预期的行为吗?如果没有, ..
发布时间:2021-07-02 18:43:23 其他开发

Spring AMQP RabbitMQ RPC - 处理响应异常

我正在尝试使用 RPC AMQP RabbitMQ 队列来发送和接收消息.问题是我设置了一个 setReplyTimeout 值.发生这种情况时,我会收到“org.springframework.amqp.AmqpRejectAndDontRequeueException:超时后收到回复".我在传入队列上设置了 DLQ,但是当 spring 尝试在其自动创建的队列上返回消息时,似乎收到了异常.因此 ..
发布时间:2021-07-02 18:43:21 其他开发

RabbitMq 连接超时异常

使用 spring amqp (rabbitmq): 我的消费者花费相当多的时间来处理消息,有时我的业务逻辑需要超过 2 个小时,但是在处理之后,当我尝试确认 rabbitmq 的“基本确认"时,它会引发连接超时异常. 我该怎么办?我应该让连接永远存在还是使用心跳? 解决方案 考虑在长期业务运营开始后立即确认的替代选项,然后通知其状态:失败或成功,以防万一有任何依赖的演员. ..
发布时间:2021-07-02 18:43:08 Java开发

Spring AMQP RabbitMQ 代码中的发送方是否不提供交换类型?

我在 RabbitMQ 中有一个基本问题.在 Spring AMQP 的情况下,在使用注解的 XML 配置和 Java 配置中,所使用的交换类型仅在侦听器端知道.我的意思是,只有消费者配置代码包含正在使用的交换类型(主题/直接/扇出).在发送方,我们将 - amqpTemplate.convertAndSend("exchange_name", "routing_key",sampleMessa ..
发布时间:2021-07-02 18:42:42 Java开发

为什么从已填充的队列中调度 Spring AMQP 消息会出现延迟?

我在我的消息驱动应用程序中使用 Spring AMQP.我注意到在我的消息侦听器的调用之间有大约 300 毫秒的几乎恒定的延迟,即使我确定队列中充满了消息.下面的日志文件显示了 BlockingQueueConsumer.nextMessage 和 BlockingQueueConsumer.handle 之间的延迟,并从其间的另一个线程调用了 BlockingQueueConsumer.hand ..
发布时间:2021-07-02 18:41:23 Java开发

是否有任何配置可以在失败时连接到不同代理上的同名队列?

我只想知道 spring-amqp 中是否有配置属性可以自动连接到具有相同队列名称的应用程序属性文件中给出的主机! 例如,我有大约 20 个队列将用于在 VM(server1)中由大约 10 个小型 Spring Boot 应用程序发布和使用,如果 server1 上的 queues/rabbitmq 节点发生某些事情,那么它应该连接到server2 上的同一组队列(可以为主机/地址提供 a ..
发布时间:2021-07-02 18:40:39 其他开发

RabbitMQ:在运行时向侦听器动态添加队列

我有一个用例,我需要使用在运行时发现的队列中的消息. 这里我有一个配置类和侦听器类.我已经为两个现有队列定义了一个使用者,并希望使用可能在运行时发现的新队列中的消息,并遵循相同的命名约定,即 queue.animals.* 此外,我还有另一个服务,它将向我发送名为“newQueues"的队列中新发现的队列名称.如果不需要,可以更改此方法,我们可以摆脱在“newQueues"上发送消息的 ..
发布时间:2021-07-02 18:40:06 Java开发

如何使用 spring rabbitmq 在不同队列中配置超时、重试或最大尝试次数

是否可以为每个队列进行这些设置?我有很重要的队列,所以我需要更多的重试次数,但有一些不太重要的队列,我不想配置重试、尝试等 public Queue newQueue(String name) {返回新队列(名称,持久,独占,自动删除,参数);} 我看到在 Queue 类中,可以将参数映射作为最后一个参数传递,但我不知道它是在这里还是通过属性. 解决方案 就我而言,我必须创建一个带有重 ..
发布时间:2021-07-02 18:38:49 Java开发

使用 Spring AMQP 延迟消息发送到侦听器

我需要在一定时间后向 MessageListener 发送消息,那么有什么方法可以使用 Spring AMQP 来实现. 例如.生产者产生消息,消息进入 RabbitMQ Q ,消息被接收 Listener 立即收听 Q,我想延迟在消费者端接收消息,在一些配置参数后说 1000ms 解决方案 RabbitMQ 为此提供了延迟交换 功能. 从 1.6 版开始,Spring AMQ ..
发布时间:2021-07-02 18:36:32 其他开发