问题标签 [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 回答
1026 浏览

java - Spring-amqp- 较新的呼叫监听器

amqp对不起,我是世界上的新人。我尝试编写简单的应用程序:

.xml文件:

春天-amqp.xml

弹簧配置.xml

当我运行这个应用程序时,我看到:

但我想看看:

怎么了??

0 投票
1 回答
1450 浏览

spring-integration - 队列恢复后重新声明绑定

我目前正在开发一个 rabbit-amqp 实现项目,并使用 spring-rabbit 以编程方式设置我所有的队列、绑定和交换。

如果队列被删除并在参考文档中找到以下内容,我正在尝试重新创建队列:

3.14 监听容器队列

1.3 版引入了许多改进,用于在侦听器容器中处理多个队列。

容器必须配置为至少侦听一个队列;以前也是如此,但现在可以在运行时添加和删除队列。处理完任何预取消息后,容器将回收(取消并重新创建)消费者。请参阅方法 addQueues、addQueueNames、removeQueues 和 removeQueueNames。移除队列时,必须至少保留一个队列。

如果任何队列可用,消费者现在将启动 - 以前,如果任何队列不可用,容器将停止。现在,只有在没有可用队列的情况下才会出现这种情况。如果不是所有队列都可用,容器将尝试每 60 秒被动声明(并从中消耗)丢失的队列。...(来源:http ://docs.spring.io/spring-amqp/docs/1.3.4.RELEASE/reference/html在撰写本文时已关闭)

我尝试了这种情况,并且确实重新创建了我的队列,但是队列和交换之间的绑定丢失了。删除后如何使用绑定重新创建队列?

0 投票
1 回答
7133 浏览

spring - 动态添加新的队列、绑定和交换作为 bean

我目前正在开发一个 rabbit-amqp 实现项目,并使用 spring-rabbit 以编程方式设置我所有的队列、绑定和交换。(spring-rabbit-1.3.4 和 spring-framework 版本 3.2.0)

在我看来,javaconfiguration 类或基于 xml 的配置中的声明都是静态的。我知道如何为队列、交换或绑定设置更动态的值(例如名称),如下所示:

但我想知道是否可以创建未定义数量的 Queue 实例并将它们注册为 bean,就像工厂注册所有实例一样。

我不太熟悉 Spring @Bean 注释及其限制,但我尝试过

为了查看 Queue 的多个 bean 实例是否已注册,我调用:

但这只会返回 1 个映射:

是否可以在运行时将 bean 动态添加到 SpringApplicationContext?

0 投票
1 回答
331 浏览

java - 兔子如何自动检查消费者是否仍然可用,如果不从列表中删除它?

初始状态:兔子有一个消费者连接到它

事件:兔子和消费者之间的网络连接中断

结果:消费者试图重新连接 Rabbit,但 Rabbit 的消费者列表中有消费者

下一个事件:网络连接再次建立,消费者重新连接到兔子,但之前的兔子连接没有消失。

结果:兔子试图向不活跃的消费者发送消息

问题:是否有机会自动检查消费者是否仍然可用,如果没有 - 将其从列表中删除?

请注意,心跳选项已打开,但它不能解决问题。

使用的库是:使用的库 org.springframework.amqp:spring-rabbit:1.2.0.RELEASE com.rabbitmq:amqp-client:3.2.1

0 投票
1 回答
3108 浏览

spring-amqp - Spring-AMQP RPC 容器

spring-amqp 上是否存在支持回复功能的容器?

我想制作像https://www.rabbitmq.com/tutorials/tutorial-six-java.html这样的 RPC ,但使用 spring-amqp。

0 投票
1 回答
2251 浏览

rabbitmq - 如何确认来自 RabbitTemplate 不同频道的消息?

假设我有一个 rabbitTemplate 实例,我调用 rabbitTemplate.send(Message)向 RabbitMQ 服务器发布消息。

我在这里要做的是: 1. 从发布者的角度来看,如何确保 RabbitMQ 接收到消息?2.在consumer端,我用同一个rabbitTemplate在一个线程中接收消息,想在另一个线程中手动ack消息。

有没有办法通过 RabbitTemplate 手动确认消息?

感谢您的任何帮助。

0 投票
1 回答
2136 浏览

rabbitmq - 如何使用带有自动声明队列的主题交换来创建 RabbitMQ MessageListener?

我正在使用 Spring AMQP 在 Java 中使用 RabbitMQ。我正在使用主题交换发送消息。

我想使用带有指定routingKey的自动声明队列来使用消息,而我设法实现这一点的唯一方法是使用线程,在那里我将等待交付(使用consumer.nextDelivery())。有没有其他方法可以做到这一点?

Spring AMQP 也有一个 MessageListener 接口,我只能用它来监听命名队列。有没有办法可以使用 MessageListener 来使用来自自动声明队列的消息?

谢谢!

0 投票
1 回答
3400 浏览

spring - Spring RabbitTemplate 没有使用 TTL 创建死信队列

我正在使用 spring-rabbit1.1 和 RabbitMQ 3.3.1 ,

我的 spring 配置将在 Rabbit MQ 上的 RabbitTemplate 的帮助下创建任何队列,但是如果队列已经配置了 x-dead-letter-exchange 和 x-message-ttl ,它只会创建没有 TTL 和死信交换的队列.

例如:以下队列将创建队列,但未创建 TTL 和死信交换。

所以我不得不去从 Rabbit MQ 中删除队列并手动创建所有必需的值以使其工作。

如果有任何选项可以解决此问题,谁能帮助我???

0 投票
2 回答
2569 浏览

spring - 我可以在 Rabbit MQ 上使用 spring 配置删除队列吗?

我正在为 RabbitMQ 上的队列更改一些交换,但如果队列已经存在,我需要手动删除,那么只有 spring 会使用更改的交换创建队列。

我们在 spring rabbit 中是否有任何选项可以根据 spring 文件中的队列配置删除队列。

例如:我期待 rabbit:deletequeue name="a" 并再次创建 rabbit:queue name="a"

因此它将删除队列,然后使用新属性再次创建,这将消除在 Rabbit MQ 上手动删除队列。

如果我错了,请纠正我,否则请指导我解决方案

斯里尼瓦斯

0 投票
1 回答
1706 浏览

rabbitmq - 缺少 message_id 的 Spring rabbitMQ DLQ

目前我已经设置了我的消息侦听器容器以使用 spring-retry 来处理重试,但是当有人发送消息而不提供消息 ID 时,消息侦听器会停止。可以更改此行为以将消息放入死信队列而不是停止侦听器吗?

我的重试配置如下:

我得到以下异常:

所以我想改变这样一个事实,即他之后停止消息侦听器容器,而只是将消息放在死信队列上。

克格兹