spring - Spring Boot 应用程序从 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: method ()V not found
这是我的 pom.xml。
<dependency>
<groupId>org.springframework.integration</groupId>
<artifactId>spring-integration-amqp</artifactId>
<version>5.1.0.RELEASE</version>
</dependency>
我在这里错过任何其他依赖吗?
解决方案
由于您提到了 Spring Boot,因此覆盖依赖项的版本是没有意义的。现在看起来你的 Spring Boot 版本不是2.1
这使得所有依赖项都与提到的 Spring Integration 版本兼容。
好吧,对您来说简单的答案是从该spring-integration-amqp
依赖项中删除一个版本并完全依赖 Spring Boot 管理。
推荐阅读
- python - Env var 在 docker 上定义但返回 None
- python - 从 None 提高 JSONDecodeError("Expecting value", s, err.value)
- vue.js - 显示图像/图标时包含文本
- animation - 如何创建悬停下拉链接动画?
- python - Keras Tuner 保存最佳模型
- javascript - Object.keys 中的按日期排序未按预期工作
- database - Flutter firebase,如何检索用户数据并将其放在地图或列表中
- javascript - 裸 Python-JS 脚本
- mysql - 从 .csv 文件导入后,是否有人遇到过附加到列条目的额外未知字符?
- kotlin - 在可以包含多个级别的列表列表中查找项目