【发布时间】:2018-12-17 15:19:03
【问题描述】:
我正在尝试从 spring-cloud-stream 实现一个基本处理器。我以前在其他项目上做过这个,所以我以为我很熟悉它。但是这次 Spring 在通过 @Autowire 创建 @Service 组件中的我的处理器引用时遇到了问题。
我认为重要的部分是应用程序上的@EnableBinding(my.class),但我有。
错误是
No qualifying bean of type 'com.mycompany.config.BizSyncProcessor' available
我还尝试将@Component 添加到BizSyncProcessor,但这没有任何区别。
以下是碎片:
public interface BizSyncProcessor {
String BUSINESS_IDS_INPUT = "updatedBusinessIdsIn";
String BUSINESS_IDS_OUTPUT = "updatedBusinessIdsOut";
@Output(BizSyncProcessor.BUSINESS_IDS_OUTPUT)
MessageChannel writeUpdatedBusinessIds();
@Input(BizSyncProcessor.BUSINESS_IDS_INPUT)
MessageChannel readUpdatedBusinessIds();
}
@Service
public class BusinessService {
@Autowired
private BizSyncProcessor bizSyncProcessor;
// methods which reference bizSyncProcessor's input and outputs
}
@EnableBinding(BizSyncProcessor.class)
@SpringBootApplication
public class Application {
public static void main(String[] args) {
SpringApplication.run(Application.class, args);
}
}
【问题讨论】:
-
听起来你的类路径中没有任何活页夹实现!
-
看起来就是这样!谢谢!至少,克服了启动错误。我添加了 spring-cloud-stream-binder-rabbit 依赖项并清除了此错误。仍然不确定我是否真的在给它写信,但这是一个单独的问题。把它写成答案,我会把它标记为答案。另外,文档中是否提到了您需要在类路径上实现活页夹的任何地方?
标签: spring spring-cloud-stream