Spring Boot应用从RabbitMQ使用时发生异常

时间:2018-11-21 00:59:48

标签: spring spring-boot rabbitmq spring-amqp spring-rabbitmq

我的springboot应用程序中有以下代码

@Bean
    public IntegrationFlow amqpInbound(ConnectionFactory connectionFactory) {
        return IntegrationFlows.from(Amqp.inboundAdapter(connectionFactory, "aName"))
                .handle(m -> System.out.println(m.getPayload()))
                .get();
    }

当我运行启动应用程序时,出现以下异常!

  

org.springframework.beans.factory.BeanCreationException:创建在类路径资源[com / mitchell / csg / acsstatefarmedibundler / filesHandler / FileMonitorBeanRegistry.class]中定义的名称为'amqpInbound'的bean时出错:通过工厂方法的Bean实例化失败;嵌套的异常是org.springframework.beans.BeanInstantiationException:无法实例化[org.springframework.integration.dsl.IntegrationFlow]:工厂方法“ amqpInbound”引发了异常;嵌套的异常是java.lang.NoSuchMethodError:org.springframework.integration.amqp.support.DefaultAmqpHeaderMapper:方法()V未找到

这是我的pom.xml。

 <dependency>
          <groupId>org.springframework.integration</groupId>
          <artifactId>spring-integration-amqp</artifactId>
          <version>5.1.0.RELEASE</version>
      </dependency>

我在这里没有其他人的依赖吗?

1 个答案:

答案 0 :(得分:1)

由于您提到的是Spring Boot,因此没有必要为了依赖而覆盖版本。现在看来您的Spring Boot版本不是2.1,这使得所有依赖项都与提到的Spring Integration版本兼容。

好吧,为您提供的简单答案是从该spring-integration-amqp依赖项中删除一个版本,并完全依赖于Spring Boot管理。