java - 如何将消息从 X-DEAD-LETTERS 队列重新发送到另一个队列?
问题描述
这是我的两个 RabbitMQ 队列和方法:
private final Queue igListenerQueue;
private final Queue igDlxQueue;
@WriteOperation
public void sendDeadMessages(String serviceName, Integer messageCount) {
//igListenerQueue.addArgument("messages", igDlxQueue.getArguments());
}
我需要从 DlxQueue 中获取 n=messageCount 消息并将它们重新定位到 igListenerQueue。这是我的队列豆:
@Bean(IG_LISTENER)
@Profile("!qa")
public Queue igListenerQueue() {
Map<String, Object> args = new HashMap<>();
args.put("x-dead-letter-exchange", rabbitIgDlxProperties.getExchangeName());
args.put("x-dead-letter-routing-key", rabbitIgDlxProperties.getRoutingKey());
return new Queue(rabbitIgListenerProperties.getQueueName(), true, false, false, args);
}
@Bean
@Profile("!qa")
public Queue igDlxQueue() {
Map<String, Object> args = new HashMap<>();
args.put("x-dead-letter-exchange", rabbitListenerProperties.getExchangeName());
return new Queue(rabbitIgDlxProperties.getQueueName(), true, false, false, args);
}
我该怎么做?
解决方案
添加一个@RabbitListener
从队列中消费的方法,并使用RabbitTemplate
.
Spring Cloud Stream 文档中有一个示例。
推荐阅读
- python - Azure DevOps REST API 在使用 Python 请求时返回 HTTP 状态 203
- spring - 使用 Spring Retry,是否可以将退避值作为函数参数传递?
- fortran - 改进子程序 fortran
- c# - 添加 exe 项目作为测试项目的依赖项
- javascript - 编辑购物车中的商品
- jenkins - 为什么我的 Jenkins httpRequest 插件没有内容?
- vba - 如何将段落中的所有字母大写
- python - 如何通过使用 os.system 获得 cmd 的响应?
- javascript - 正则表达式在javascript中的某物之间查找字符串
- python - 如何修复 Django 中的“TemplateDoesNotExist at /admin/login/django/forms/widgets/text.html”错误??