Apache Camel 的 Spring RabbitMQ 的 RabbitMQ 队列中没有可用消息

问题描述 投票:0回答:1

当我尝试使用 Apache Camel 组件的 Spring RabbitMQ 将消息从一个队列发布到另一个队列时,目标队列没有收到任何消息。

@Component
public class WeatherRoute extends RouteBuilder {
    @Override
    public void configure() throws Exception {
        fromF(RABBIT_URI,"weather","weather")
       .toF(RABBIT_URI,"weather_event","weather_event")
 }
}

这是我的配置组件:

@Configuration
public class CamelConfiguration {
    public static final String RABBIT_URI="spring-rabbitmq:amq.direct?exchangeType=direct&queues=%s&routingKey=%s";

    @Bean 
    // auto injected because we name it with rabbitConnectionFactory
    public ConnectionFactory rabbitConnectionFactory() {
       //define a connectionFactory
        ConnectionFactory factory = new ConnectionFactory();
        factory.setHost("localhost");
        factory.setPort(5672);
        factory.setUsername("guest");
        factory.setPassword("guest");
        return factory;
    }

}

我已经使用 RabbitMQ 接口手动创建了两个队列,但问题仍然存在

spring-boot rabbitmq apache-camel queue spring-rabbit
1个回答
0
投票

RabbitMQ 的 Apache Camel URI 看起来没有

queues
参数:https://camel.apache.org/components/3.21.x/rabbitmq-component.html.

我建议使用不同的 URI:对于基于

queue
的消费者端和基于
routingKey
的生产者端。这就是 AMQP 协议的工作原理。

© www.soinside.com 2019 - 2024. All rights reserved.