-
0 votesanswersviews
spring-amqp使用非线程安全的侦听器实现零消费者利用率
我们在 生产环境 中遇到了一个问题,即消费者利用率为零,队列不断增长,性能下降 . 每个使用者都是一个容器,其中包含非线程安全的侦听器bean的单个实例 . 每个侦听器都需要写入自己的文件集 . 为了避免线程争用,我希望只有一个线程可以写入自己的文件集 . 每个侦听器仅使用@Scope(ConfigurableBeanFactory.SCOPE_PROTOTYPE)实例化一次 我正在使用类似于qu... -
1 votesanswersviews
Spring Amqp Consumer在运行一段时间后暂停
我们有一个带有Ha-all策略的2节点RabbitMQ集群 . 我们在应用程序中使用Spring AMQP与RabbitMQ交谈 . 制作人部分工作正常,但消费者工作了一段时间并暂停 . 生产环境 者和消费者作为不同的应用程序运行 . 有关消费者部分的更多信息 我们使用 SimpleMessageListenerContainer 和 ChannelAwareMessageListener ... -
1 votesanswersviews
Spring AMQP使用noLocal使用者发送和接收临时队列
使用临时队列发送和接收时,会创建使用 noLocal 属性设置为 true 的使用者(请参阅RabbitTemplate#doSendAndReceiveWithTemporary method line 1297 of version 1.7.4.RELEASE) . 根据javadocs for the basicConsume method,当此属性设置为 true 时,则"the... -
1 votesanswersviews
在 Spring 天设计复杂的通知系统
我想设计并实现一个复杂的通知系统,我有一个用户将自动和手动订阅不同的事件 . 经过一些研究后,我决定使用websockets将通知推送到客户端,并且为了订阅我将去RabbitMQ的事件,我会去直接交换 . 首先我想在 Build websocket连接之后我会发送将在RabbitMQ中订阅交换的userId,任何更改都将与userId一起发送此更改,这就是我将如何获得更改并推送它给客户 . 通过这... -
2 votesanswersviews
Storm使用Spring AMQP从RabbitMq读取消息
我想从RabbitMq队列中消耗我的Storm Spout中的消息 . 现在,我们使用Spring AMQP异步发送和接收来自RabbitMq的消息 . Spring AMQP提供机制(创建监听器或使用注释@RabbitListner)从队列中读取消息 . 问题是我可以让一个监听器从队列中读取消息 . 但是如何将此消息发送到在Storm集群上运行的Storm Spout? 拓扑将启动一个集群,但在... -
0 votesanswersviews
对RabbitMQ队列的否定确认使用Spring AMQP重新排队消息
我有一个应用程序,它使用spring AMQP来消费并向其他应用程序生成消息 . 我有一个场景,其中发生了一些异常我需要重新排队回RabbitMQ . 对于一些我需要忽略的例外(基本上我需要忽略不需要重新排队的消息) 目前在下面的代码中,我已将配置设置为 factory.setDefaultRequeueRejected(false); 但我的要求是动态拒绝某些消息并重新排队回RabbitMQ以获... -
1 votesanswersviews
记录Spring AMQP的消息侦听器抛出的异常
我有一个使用异步使用者处理消息的应用程序(通过@RabbitListener) . 在此使用者方法中,由于我定义的策略而发生异常并且消息被重新排队: spring: rabbitmq: listener: simple: default-requeue-rejected: false r... -
0 votesanswersviews
Spring-amqp:使用匿名独占队列时的异常
我有一系列tomcat / spring应用程序,需要使用几个不同的扇出交换,从几个不同服务器的单个实例向多个客户端发送消息 . 每个服务器实例都有自己的一组交换 . 交换机由服务器声明,并由每个客户端生成并绑定到这些交换机的匿名队列 . 我正在使用匿名队列,因为我事先并不知道会有多少消费者,当然我不能将多个消费者绑定到一个命名队列而不会破坏扇出交换的性质 . 在客户端,我在日志中遇到了大量异常,... -
0 votesanswersviews
Spring Integration RabbitMQ Consume来自amq.rabbitmq.event主题交换的内部事件
我想消耗发布到 amq.rabbitmq.event 的内部事件,例如 client.connected, client.disconnected . 下面是我的Spring配置: <?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://www.springfram... -
0 votesanswersviews
使用spring-websocket和rabbitmq-stomp时,不会向所有活动订阅者发送消息
我有一个基于 spring 腹架的网络应用程序(由 spring 靴1.5.1提供动力) . 而我正在使用带有stomp插件的Rabbitmq(3.6.6)作为全功能代理 . 根据the doc of stomp,来自/ topic /的目的地消息将被发送给所有活动订户 . 主题目标对于将每封邮件的副本传递给所有活动订阅者的简单主题目标,可以使用表单/ topic /的目标 . 主题目标支持AM... -
9 votesanswersviews
如何在Spring AMQP中使用Ack或Nack
我是Spring AMQP的新手 . 我有一个应用程序,它是一个 生产环境 者向另一个消费者的应用程序发送消息 . 消费者收到消息后,我们将对数据进行验证 . If the data is proper we have to ACK and message should be removed from the Queue. If the data is improper we have to NA... -
1 votesanswersviews
消息消息时,Spring AMQP中的线程实现
我有一个应用程序使用Spring AMQP消耗RabbitMQ的消息 . 我必须在使用者中实现Threads来处理请求 . 如果我的线程池可用,我正在使用线程消费该消息我将处理该消息 . 我有一个问题,当所有线程都忙时会发生什么 . 我没有线程来处理它 . 消息是否会从RabbitMQ中消耗掉?它会等到我的线程池可用 . 怎么用spring amqp处理这个? Is there any thr... -
2 votesanswersviews
Rabbitmq:在代理重启后,Unacked消息不会消失
我们观察了RabbitMQ的以下行为,并试图了解它是否正确以及如何解决它 . 场景: (持久)消息被传递到持久队列中 (单个)消费者(Spring-AMQP)接收消息并开始处理=>消息从READY转到UNACK 现在代理已关闭=>客户端正确报告"Channel shutdown" 消费者完成处理,但由于代理仍处于停机状态,因此无法确认消息 Bro... -
1 votesanswersviews
Spring RabbitMQ匿名队列
我是Spring-rabbitMQ的新手 . 我有以下问题 . 如果错了,请更正: 我有三个应用实例 . Instance1 Instance2 Instance3 注意:这些实例不需要是固定的数字 . 所有这些实例都听同一个交换 . 由于实例数量不固定,我的要求是所有三个/(数字可以)变量收到的相同消息 . 如何使用spring-amqp实现这一目标 如果声明队列名称和绑定交换消息将在实例之间拆... -
0 votesanswersviews
RabbitMQ在扇出交换时重试逻辑
RabbitMQ周围的当前系统 我们有一组队列和交换来支持消息 . Main exchange :这是从消息 生产环境 者收到消息以便第一次处理的地方 . 这可能是一个主题或扇出(当前问题是关于扇出) Main Queue(s) :这是消费者从中选择要处理的消息的队列 . Dead exchange and queue :错误消息的简单基本设置 . Delay queue :如果需... -
0 votesanswersviews
spring-amqp清理侦听器容器关闭时的资源
我有多个消息容器,每个容器都有一个监听器 . 每个听众 不是线程安全的 声明为@Scope(value = ConfigurableBeanFactory.SCOPE_PROTOTYPE) 不是无国籍人 . 它有一个处理过的消息的内部缓冲区 收到的每条X消息都将缓冲区刷新到磁盘 写入这种类型的磁盘非常昂贵,并且实现所需吞吐量的唯一方法是仅每X条消息刷新缓冲区 . 每个侦听器都会... -
0 votesanswersviews
Spring Amqp注释基于
我是Spring AMQP的新手,想要使用最新的spring amqp 1.5.4为 生产环境 者和消费者使用基于注释的配置, 是否有任何可用于配置的pseoudo代码,用于创建连接或@Queue等的逻辑 . -
1 votesanswersviews
Spring AMQP Consumer神秘地丢弃了与队列的连接
我们使用的是spring-amqp 1.5.2,RabbitMQ版本为3.5.3 . 所有队列都运行良好,我们让消费者在没有任何问题的情况下听取消息,除了一个消费者不断神秘地断开连接 . spring-amqp auto恢复,但几个小时后消费者断开连接,再也没有回来 . 队列声明为 @Bean() public Queue analyzeTransactionsQueue(){ Map&... -
0 votesanswersviews
spring-amqp一个队列多个监听器
如何配置接收器以满足以下要求 我有三个任务,将侦听单个队列“replyQueue”上的所有回复 task1 task2 task3 每个人都将在 Rabbit 上发送一条消息,并等待 replyQueue 的响应 任务1 -send message -wait for the responses -There can be multiple response... -
0 votesanswersviews
Spring AMQP MessagePostProcessor中的异常处理
我编写了一个MessagePostProcessor,在调用任何消费者onMessage之前调用它 . 现在,如果我的MessagePostProcessor中发生任何异常,我需要捕获异常,否则消息将在Rabbitmq服务器Q中无限次地重新获得 . 所以解决这个问题我需要在我的组件MessagePostProcessor中捕获一个异常,但是由于这个原因,消费者在问题结束时没有得到正确的问题 . 处... -
0 votesanswersviews
我们可以在Spring AMQP中在消费者端设置超时设置
我们可以在Spring AMQP中在消费者端设置超时设置, 我们有一个用例,AMQP消息在消费者端 @Named("TestListener") public class TestListener implements MessageListener { @Override public void onMessage(Message message) ... -
0 votesanswersviews
Spring AMQP Listener Timeout
我需要处理SpringAMQP监听器超时功能,即我们从 生产环境 者发送消息,Spring AMQP的消费者监听器线程接收消息但说需要花费大量时间来执行自身并被绞死,这最终会导致监听器线程被渲染无法使用 . 那么有没有办法让我们有Spring AMQP提供的任何消费者超时设置,以便在给定的超时时间后再次释放侦听器线程 -
1 votesanswersviews
可以处理Spring AMQP Listener Container的java.net.ConnectException吗?
如果Rabbitmq节点是Down并且我们启动Rabbitmq Listener Container,那么它将循环 infinite Times 直到它连接到Rabbitmq Node.So如果它没有连接到Rabbitmq节点,我们如何能够阻止Listener Container的无限尝试? -
0 votesanswersviews
Spring Cloud Stream中的事务
Problem :我试图逐行读取一个大文件并将消息放入RabbitMQ中 . 我想在文件末尾提交rabbitMQ . 如果文件中的任何记录都不好,那么我想撤销发布到队列的消息 . Technologies :Spring启动,Spring Cloud 流,RabbitMQ 你能帮我实现这个过渡的东西吗?我知道如何使用spring cloud stream读取文件并发布到队列 . Edit: @Tr... -
1 votesanswersviews
Spring Integration AMQP - 偶尔没有消息,需要超时吗?
我有一个入站RabbitMQ通道适配器,每天成功处理3000条消息,但偶尔我会在RabbitMQ管理控制台中看到未分组的消息计数为1 . 这似乎仍然是这样 . 我确实有一个重试建议链重试3次,然后通过死信路由密钥转移到DLQ,这对大多数例外都很好 . 在过去的几周内,unacked发生了两次,有一次我能够进行一次线程转储,看到int-http:outbound-gateway调用卡在等待http响... -
0 votesanswersviews
即使存在与这些队列相关联的侦听器,RabbitMQ也会在一段时间内将消息堆积起来
我的rabbitmq设置有一个情况 . 我的方案如下, Setup: 涉及2台虚拟机 . 两个虚拟机每7秒循环发送25mb大小的消息 . 有铲子设置用于在机器之间传输消息 . 两台机器都有侦听器来使用其他机器发送的消息 . 听众只是消费这些消息然后出来 . 听众方面没有涉及处理 . 有rabbitmQ经纪人 SSL enabled . 我正在使用 Spring Rab... -
2 votesanswersviews
使用Spring ampq在rabbitmq中重新排列消息
我是rabbitmq的新手,我正在尝试以下方案 生产环境 者发送消息 消费者收到消息 执行我自己的逻辑 如果逻辑失败 - 重新排队 如果消费者失败(机器发生故障),请重新排队消息 我使用Spring rabbitTemplate实现了基本发件人 rabbitTemplate.convertAndSend(.....); 而对于消费者我实现了一个消息监听器 pu... -
1 votesanswersviews
避免向DLQ / DLX发送消息
我们的应用程序正在使用org.springframework.cloud,spring-cloud-starter-stream-rabbit框架,我们试图避免向DLQ发送特定消息并重试它们,这种行为应该以某种方式动态,因为对于默认消息,重试和DLQ应该工作 . 根据这个文件: Putting it All Together 这个有用的帖子: DLX in rabbitmq and spring-... -
4 votesanswersviews
Spring AMQP - 发送者和接收消息
我在收到RabbitMQ的消息时遇到了问题 . 我正在发送如下信息 HashMap<Object, Object> senderMap=new HashMap<>(); senderMap.put("STATUS", "SUCCESS"); senderMap.put("EXECUTION_S... -
0 votesanswersviews
Spring Boot - RabbitMQ - 处理经纪人失败的场景
我们在项目中使用rabbitmq进行消息传递 . 这主要用于审计日志记录 . 我们试图检查我们的应用程序如何响应某些故障情况 . 例如,如果RabbitMQ关闭,消费者会不断尝试与rabbitmq Build 连接并失败 . 如果rabbitmq停机,消费者有没有办法停止尝试?以类似的方式,当代理停止时,发布者如何停止尝试向队列发送消息?断路器是我们可以考虑的选择之一吗?