spring-rabbit相关内容

即使在配置 SSL 属性后,Spring RMQ 侦听器也始终使用 PLAIN 身份验证

我有一个 Spring Boot 应用程序,我正在尝试将侦听器配置为已存在的队列.以下是我在 application.yml 文件中配置的内容.我还用 @EnableRabbit 注释了我的配置类,用 @RabbitListener 注释了侦听器,并使用了参考 spring 文档的适当配置. 请注意,每个属性都有一个有效的默认值,在此处发布之前我已将其删除. 弹簧:兔米克:主机:${rmq ..
发布时间:2021-08-20 19:25:52 Java开发

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

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

如何避免在出现意外错误时关闭 SimpleMessageListenerContainer?

我正在使用 Java 引导 1.4.0 和“spring-boot-starter-amqp"来连接到 rabbitMq.消息生产者、消费者和rabbitMq 服务器都在我的控制之下.几个月的生产中一切正常.但是突然我的消费者停止了下面给出的例外.由于我只生成始终有效的消息,因此我不知道出了什么问题. 但这导致我的侦听器容器关闭.因此我的消息处理停止了.我不得不手动重新启动我的消息消费者程序 ..
发布时间:2021-08-20 18:58:25 Java开发

如何启动、停止和重新连接 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 其他开发

正确使用 SpringRabbit DirectMessageListenerContainer 和 setConsumersPerQueue 属性

我使用 DirectMessageListenerContainer 来侦听单个队列,因为它为每个队列创建了一个使用者,如果“queue1"上的消息需要一段时间来处理,而“queue1"上的消息需要处理,则可以防止队列饥饿queue2"的处理速度很快.我对 DirectMessageListenerContainer.setConsumersPerQueue 方法感到困惑.默认值为 1 查看源代码 ..
发布时间:2021-07-02 18:42:36 其他开发

SimpleMessageListener 与 DirectMessageListener

我想看看 DirectMessageListener 和 SimpleMessageListener 之间的区别.我有这张图只是想问问它是否正确. 让我试着描述一下我是如何理解它的,也许你告诉我它是否正确. 在spring-rabbit 前面有一个rabbit-client java 库,它连接rabbit-mq 服务器并将消息传递给spring-rabbit 库.这个客户端有一些 T ..
发布时间:2021-07-02 18:40:56 Java开发

Spring Cloud Stream 中的事务

问题:我正在尝试逐行读取一个大文件并将消息放入 RabbitMQ.我想在文件末尾提交rabbitMQ.如果文件中有任何记录是坏的,那么我想撤消发布到队列中的消息. 技术:弹簧靴,春云流,兔MQ 你能帮我实现这个过渡的东西吗?我知道如何使用 Spring Cloud 流读取文件并发布到队列. 编辑: @Transactionalpublic void sendToQueue(L ..

Rabbit Spring Boot 属性

以下属性之间的主要区别是什么: 1)spring.rabbitmq.listener.direct.prefetch= # 单个请求中要处理的消息数.它应该大于或等于交易大小(如果使用). 2)spring.rabbitmq.listener.simple.prefetch= # 单个请求中要处理的消息数.它应该大于或等于交易大小(如果使用). 解决方案 使用 Spring A ..

增加春兔的心跳值

我的设置面临一些问题我正在尝试增加心跳间隔以测试可能的修复方法.我正在使用 Spring Boot 1.3.2.RELEASE春兔 1.5.3.RELEASE 实例化连接工厂的代码如下 RabbitConnectionFactoryBean connectionFactoryBean = new RabbitConnectionFactoryBean();connectionFactoryB ..
发布时间:2021-07-02 18:38:54 Java开发

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

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