当前位置: 首页 > 知识库问答 >
问题:

使用SpringIntegration Java DSL将消息发送到特定的RabbitMQ队列

都才俊
2023-03-14

我正在开发一个使用Spring Boot版本2.0.4的Java应用程序。RELEASE和RabbitMQ版本3.7.7。该应用程序正在Redis数据库中缓存RabbitMQ中的所有消息,并且在RabbitMQ中创建新队列时必须重新发送。目前,我设法使用Event Exchange Plugin和队列名称捕获了队列创建。我正在使用AMQP出站适配器将消息发送回RabbitMQ。

流出

public IntegrationFlow outFlow(AmqpTemplate amqpTemplate) {
    return IntegrationFlows.from(outputChannel())
            .handle(Amqp.outboundAdapter(amqpTemplate)
                    .routingKeyExpression("headers.routingKey")
                    .exchangeNameExpression("headers.exchange"))
            .get();
}

我可以使用routingKey将消息发送到特定的exchange。但是,我不知道如何在出站适配器中配置队列名称。这样我就可以将消息发送到该特定队列。

共有1个答案

凤安然
2023-03-14

如果要发送到特定队列,请使用队列名称作为路由密钥,并使用默认的全局交换-空名称。有一种特殊的直接交换,它将所有队列以其名称作为路由密钥绑定到它。

有关更多信息,请参阅AMQP协议文档:https://www.rabbitmq.com/tutorials/amqp-concepts.html#exchange-默认值

 类似资料:
  • 简单的消息发布器如下所示: ...其配置如下: 问题是,此发布服务器将消息发送到准备好的默认目标,但我需要将消息发送到不同的队列。在我的情况下,我的应用程序中的每个任务都需要一个消息队列。原因是,如果要中止任务,必须从代理中删除消息。如果一个任务有数千条消息,那么使用选择器接收所有消息不是一个好的做法。我需要从消息代理中删除中止任务的所有消息,而不接收客户端。JMS仅支持消息的发送和接收。我必须使

  • 我是Spring JMS的新手。我的应用程序是使用Spring Boot开发的,并部署在JBoss EAP7.2.0中。我有一个远程队列,它是一个活动的MQ Artemis队列,也嵌入在JBoss EAP7.2.0中。有人能建议我如何使用Spring Boot的JmsTemplate向远程JMS队列发送消息吗?基本上,我不知道应该如何定义远程connectionFactory来连接到远程队列。

  • 我目前正在使用Java和jda为discord制作一个机器人。我想让机器人向特定的通道发送消息。我该怎么做?

  • null 谁能给我一个向RabbitMQ发送消息的标准程序的例子。我正在使用Spring Boot,也可以使用它的特性。

  • 问题内容: 我试图将字符串消息发送到在weblogic服务器中创建的JMS队列中。我使用Eclipse IDE,当我运行Web应用程序时,出现以下错误,tomcat服务器关闭。错误是 请帮助我。谢谢和最诚挚的问候 问题答案: 基于对该问题的一些快速研究,它似乎是由于在应用服务器和客户端之间使用不同的JDK级别引起的。我看到的大多数示例都表明,在Java 5上运行Weblogic时在客户端上使用Ja

  • 我想发送数据到一个特定的套接字ID。 在旧版本中,我们曾经能够做到这一点: 我将如何在Socket.io1.0中执行类似的操作?