问题标签 [spring-rabbit]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
689 浏览

spring - 几个 bean 实现相同的接口

具体用法是这样的:

每个“客户端”实例都有自己的 bean id,不会相互冲突。

如何使用 SpEl 调用获取此对象的确切 updateListener?

更新

使用编程方法和注册方法后,我得到以下异常:

更新

完成后,您需要执行以下操作以实现所需的行为。

0 投票
1 回答
566 浏览

spring - 向多个 RabbitMQ 消费者提供相同的消息

要求:1)我需要通过Java应用程序并使用主题交换和绑定键来获取存储在Mongo DB中的数据,在RabbitMQ上创建了3个队列。到目前为止,我已经实现了一切。

问题从第二点开始。

2) 当消息应该可供来自所有 3 个队列的多个消费者使用时。但是当第一个消费者消费来自 3 个队列的消息时,其他消费者将无法使用它。如何使消息对多个消费者高度可用。

是否有任何方法可以实现这一点,或者这个要求是否有任何替代解决方案。

0 投票
2 回答
7351 浏览

java - Spring boot RabbitMQ 主机字符串格式

我正在使用 spring boot 来监听我的 rabbitmq 实例上的消息。我让它使用application.properties文件在本地工作。

但是,当我想连接到远程 rabbit 实例时,由于我的 url,我得到了数字格式异常和未知主机异常。

我尝试设置spring.rabbitmq.host为:

amqp://myurl/dev and myurl/dev and amqp%3A%2F%2Fmyurl%2Fdev

没有任何工作。任何想法可能会发生什么。我已经设置了我的用户名并通过了远程实例。

0 投票
1 回答
7673 浏览

spring - Spring amqp 不将消息发布到队列,而是发布到 Exchange

我正在尝试为具有多个队列的 RabbitMQ 测试和基准 spring-amqp,因此我为每个队列创建了兔子模板并使用它来发送消息。消息发送成功,我可以看到在交换中发布的消息,但我在队列中看不到任何内容。我猜这是非常小的设置,但无法弄清楚。

这是我的 applicationContext.xml

这是我的代码,它使用benchmarkAmqpTemplate发布到队列。

当我使用 HelloWorld示例时,它确实在队列中发布了一条消息,所以想知道我是否做错了什么。 更新 我能够通过direct-exchange在我的上下文 xml 中添加标签来解决这个问题。我的完整 xml 如下所示:

0 投票
1 回答
3293 浏览

java - 带有 RabbitMQ 的 spring-amqp 无法正确关闭

SimpleMessageListenerContainer shutdownTimeout当调用后消费者没有完成执行AnnotationConfigApplicationContext.close()时,我的 Spring 应用程序挂起。

听众:

配置:

主要的:

输出:

在该应用程序无限工作之后。

工作线程:

非守护线程:

如果我增加一切都很好shutdownTimeout,但超时行为看起来像一个错误。

春季版本:

更新:我已经用调用替换了 System.out.println 的Log调用,并配置了 log4j 进行日志记录。图案:%r [%t] %-5p %c{1} - %m%n

输出:

0 投票
1 回答
331 浏览

rabbitmq - RabbitMQ:每个接收到的消息的服务器端计算

我正在使用 RabbitMQ,我希望在服务器端每次 Exchange 收到消息时进行计算。

我有一个评级队列,当收到太多差评(比如说超过十个)时,应该通知消费者。

服务器端逻辑有哪些选择?我一直在阅读有关 Spring RabbitMQ 的信息,但不确定?

0 投票
0 回答
604 浏览

java - spring-rabbitmq 承认不是自动的?

我现在使用的是:spring 4.0.0.RELEASE 和 spring-rabbit 1.4.4.RELEASE

我的代码会处理消息。消息队列并没有消失,所以。一直循环处理。

spring-rabbitmq.xml

CallBackTaskMessageListener.java

如何解决 不要让他一直处理栏目一些消息。如何处理消息正确响应?谢谢。

0 投票
2 回答
2918 浏览

spring-amqp - 试图从xml 名称空间配置到 java @Configurable 无法复制

我正在尝试从 XML Spring amqp 配置迁移到基于 java 注释的配置,因为它“更简单”。不知道我在做什么错 XML 配置工作正常,但 java @Configurable 抛出“由:java.net.SocketException:连接重置”异常。

XML 配置(完美运行):

Java配置:

java配置错误:

我踏入了 Spring amqp 代码,罪魁祸首是 RabbitAdmin#getQueueProperties 方法。在 XML 配置中它执行得很好......但是一旦它使用 java 配置执行它就会抛出上面的异常?我在做什么不一样?两种配置对我来说都一样。

两个配置都在类路径上使用完全相同的 rabbitmq.properties 文件。我什至在运行时检查了两个配置的 RabbitAdmin 和 RabbitTemplate 类的属性,它们看起来完全一样......

0 投票
1 回答
868 浏览

java - 并发生产者在 Rabbitmq 中无限期阻塞

我在使用 spring-rabbit-1.3.9.RELEASE 库对 Rabbitmq 3.3.5 进行 POC 时观察到奇怪的行为

当我启动一个生产线程时,事情运行顺利。但是,如果同时启动超过 1 个线程,则只有一个线程完成,所有其他线程都会无限期地阻塞,即使队列变空也是如此。

当从rabbitmqctl list_connections. 应该注意的是,当生产者阻塞时,或者在整个运行期间的任何其他时间,都不会发出警报。

我还观察到,如果我在每次发送后休眠 1 毫秒,问题就会消失。

所以,我有这些问题

  1. rabbitmq 不支持并发生产者,高速率发布吗?
  2. 即使连接确实被阻止,为什么它不显示在 rabbitmqctl list_connections 中?
  3. 为什么他们无限期地阻塞而不恢复乳清队列变空?

代码

弹簧配置

0 投票
1 回答
498 浏览

java - 使用大量 cpu 的 spring-rabbit 客户端

我在 c3.large 机器上的 ec2 中运行 spring-boot 应用程序。它初始化一个 spring-rabbit 客户端,它启动自己的线程。

在使用 YourKit 分析我的应用程序后,我发现在 rabbit 客户端线程中花费了很多时间,里面:com.rabbitmq.client.impl.AMQConnection$MainLoop.run()特别是在java.io.DataStream.readUnsignedByte()

对我来说,这看起来像是有一个 while 循环不断阻止从 RabbitMQ 服务器获取套接字上的一些输入。

有没有人遇到过这个?我是否正确阅读了分析结果?有没有办法让 amqp 客户端不阻塞?