-
0 votesanswersviews
spring-amqp使用非线程安全的侦听器实现零消费者利用率
我们在 生产环境 中遇到了一个问题,即消费者利用率为零,队列不断增长,性能下降 . 每个使用者都是一个容器,其中包含非线程安全的侦听器bean的单个实例 . 每个侦听器都需要写入自己的文件集 . 为了避免线程争用,我希望只有一个线程可以写入自己的文件集 . 每个侦听器仅使用@Scope(ConfigurableBeanFactory.SCOPE_PROTOTYPE)实例化一次 我正在使用类似于qu... -
0 votesanswersviews
RabbitMQ - 使用AMQP和STOMP连接到同一个交换机
我们使用RabbitMQ作为消息代理 . Producer1使用AMQP连接,Producer2使用STOMP协议连接,Consumer1使用AMQP连接,Consumer2(使用javascript)通过websocket连接使用STOMP .(Producer1和consumer1使用spring cloud stream) 测试1:当使用AMQP的producer1发送消息时,它在cons... -
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... -
0 votesanswersviews
如何忽略maxAttempts并向DLQ发送消息?
我正在使用RabbitMQ . 消费者-api正在使用spring-cloud-steam . 目前,当maxAttempts为3时,如果消费者未能处理该消息,则它将再次排队 . 这将发生3次 . 如果第3次也是消息失败,则它将被发送到DLX-> DLQ . 如下图所示 现在我想跳过重试,如果在侦听器端发生了一些specificException . 如何跳过此重试并直接将消息发送到DLX-... -
2 votesanswersviews
Storm使用Spring AMQP从RabbitMq读取消息
我想从RabbitMq队列中消耗我的Storm Spout中的消息 . 现在,我们使用Spring AMQP异步发送和接收来自RabbitMq的消息 . Spring AMQP提供机制(创建监听器或使用注释@RabbitListner)从队列中读取消息 . 问题是我可以让一个监听器从队列中读取消息 . 但是如何将此消息发送到在Storm集群上运行的Storm Spout? 拓扑将启动一个集群,但在... -
3 votesanswersviews
Spring amqp不向队列发布消息,而是向Exchange发布消息
我正在尝试使用多个队列测试和测试RabbitMQ的spring-amqp,因此我为每个队列创建了兔子模板并使用它来发送消息 . 发送的消息成功,我可以在交换机中看到一条消息,但我在队列中看不到任何内容 . 我猜这是非常小的设置,但无法弄明白 . 这是我的applicationContext.xml <bean id="banchmarkConnectionFactory"... -
3 votesanswersviews
Rabbitmq连接在localhost上突然关闭
我们在localhost dev /测试场景中对rabbitmq有突然的连接关闭问题 . 在我们的开发环境中,我们在每个开发人员的Windows 7机器上安装了rabbitmq,并通过Spring AMQP库使用java客户端连接到它 . 一切都运行良好一段时间,但在某些时候连接被删除与rabbitmq日志中的以下消息: =WARNING REPORT==== 4-Jan-2016::14:39:... -
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... -
6 votesanswersviews
Spring AMQP RabbitMQ实现优先级队列
谷歌待了几天,我相信我完全迷失了 . 我想实现一种有大约3个队列的优先级队列: 高优先级队列(每日),需要先进行处理 . 中间优先级队列(每周),如果队列#1中没有项目将处理 . (这个队列中的消息是好的,它根本不会处理) 低优先级队列(每月),如果队列#1和#2中没有项目将处理 . (这个队列中的消息是好的,它根本不会处理) 最初,我有以下流程,让消费者使用来自所有三个队列的... -
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 :如果需... -
1 votesanswersviews
Spring AMQP - 是否有一种方法负责路由到侦听器
如果我想调试为什么我的监听器(用 @RabbitListener 注释)没有被触发, spring.amqp.rabbit 中的类是什么我应该设置一个断点来调试问题?换句话说,是否有一种方法负责路由到侦听器? -
0 votesanswersviews
spring-amqp清理侦听器容器关闭时的资源
我有多个消息容器,每个容器都有一个监听器 . 每个听众 不是线程安全的 声明为@Scope(value = ConfigurableBeanFactory.SCOPE_PROTOTYPE) 不是无国籍人 . 它有一个处理过的消息的内部缓冲区 收到的每条X消息都将缓冲区刷新到磁盘 写入这种类型的磁盘非常昂贵,并且实现所需吞吐量的唯一方法是仅每X条消息刷新缓冲区 . 每个侦听器都会... -
0 votesanswersviews
Spring Amqp注释基于
我是Spring AMQP的新手,想要使用最新的spring amqp 1.5.4为 生产环境 者和消费者使用基于注释的配置, 是否有任何可用于配置的pseoudo代码,用于创建连接或@Queue等的逻辑 . -
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的无限尝试? -
3 votesanswersviews
Spring AMQP - 在引擎盖下是@RabbitListener轮询吗?
摘要 我想异步处理来自AMQP / RabbitMQ队列的消息 . 我为此实现了一个 @RabbitListener 方法(来自spring-rabbit),但似乎这个监听器实际上是在我的队列中轮询我的队列 . 这是预料之中的吗?我本以为RabbitMQ会以某种方式通知监听器,而不必轮询 . 如果可以预料到,我可以以某种方式使用Spring AMQP异步消费消息而不进行轮询吗? 我观察到了什么 当... -
1 votesanswersviews
SimpleMessageListenerContainer批量消息处理
我有一个传入数据流,作为单独的消息发送到RabbitMQ . 我想将这些发送到需要一批消息的服务 . 当我有一批1000条消息或5秒过期时,我需要将请求发送到服务 . 这可以使用SimpleMessageListenerContainer吗? SimpleMessageListenerContainer支持事务,但这对5秒超时没有帮助 . 我确实看过方法doReceiveAndExecute(Bl... -
1 votesanswersviews
Spring Integration AMQP - 偶尔没有消息,需要超时吗?
我有一个入站RabbitMQ通道适配器,每天成功处理3000条消息,但偶尔我会在RabbitMQ管理控制台中看到未分组的消息计数为1 . 这似乎仍然是这样 . 我确实有一个重试建议链重试3次,然后通过死信路由密钥转移到DLQ,这对大多数例外都很好 . 在过去的几周内,unacked发生了两次,有一次我能够进行一次线程转储,看到int-http:outbound-gateway调用卡在等待http响... -
2 votesanswersviews
连接被阻止时,spring-amqp无法正常工作
我正在使用spring-amqp 1.4.4并且队列中包含太多消息并且它在水印内存之上,如果在send方法之后调用RabbitTemplate接收方法则不响应 . 它无限期地等待 . 在spring xml中,我将listen-timeout =“10”设置为rabbit:template . 如果我不打电话给send方法,只是打电话给它接收就行了 . 怎么了? template.convertA... -
1 votesanswersviews
队列恢复后重新声明绑定
我目前正在开发一个rabbit-amqp实现项目,并使用spring-rabbit以编程方式设置我的所有队列,绑定和交换 . 我正在尝试重新创建队列,如果它被删除,并在参考文档中找到以下内容: 3.14侦听器容器队列版本1.3引入了许多用于处理侦听器容器中的多个队列的改进 . 必须将容器配置为侦听至少一个队列;之前的情况也是如此,但现在可以在运行时添加和删除队列 . 当处理完任何预先获取的消息时... -
1 votesanswersviews
@RabbitListener用于多个类中的相同队列
我想知道在Spring AMQP中是否有可能从多个类中的同一队列接收消息,具体取决于有效负载类型 . 我知道在类中使用@RabbitListener注释然后将@RabbitHandler放在方法上,但我想在保留单个队列的同时将多个类中的消息处理的复杂性分开 . 目前正在使用的版本:Spring AMQP v2.0.3以及RabbitMQ . -
1 votesanswersviews
如何使用SimpleMessageListenerContainer禁用RabbitMQ预取计数
RabbitMQ提供了可选择设置预取计数的功能 . 使用spring-amqp的 SimpleMessageListenerContainer ,我注意到预取计数总是被设置 . 我无法将预取计数设置为0,因为 SimpleMessageListenerContainer 将其设置为至少 txSize ,必须大于零(即使没有涉及事务) . 那么有没有办法禁用预取计数,即使其无限制? 以下是sprin... -
2 votesanswersviews
在rabbitmq中预取计数与无ack之间有什么区别
我需要知道在rabbitmq中prefetch count与no ack之间的区别是什么? 以下陈述之间有什么区别: - 如果我设置了预取计数,那么10会创建10个消费者线程吗?要么 - 如果我注册10个cosumers它会创建10个线程吗? 以上哪项更有效 -
6 votesanswersviews
Spring Integration和AMQP:如何优雅地处理反序列化异常?
我使用 RabbitMQ 和 Spring Integration 来处理 incoming JSON messages . 配置的相关部分如下所示: <amqp:inbound-channel-adapter channel="incomingChannel" queue-names="..." message-converter=&q... -
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... -
2 votesanswersviews
RabbitMQ配置多个队列
显然我已经配置了一个队列来接收我的应用程序中的用户帖子 . 以下是配置 . <!-- Creates a queue for consumers to retrieve messages --> <rabbit:queue name="UserPostpublishQueue" durable="true"> </rabbit:...