问题描述
我正在实现非常基本的POC,以在本地启动Spring Cloud Dataflow服务器。 但是我遇到了以下错误:
字段appRegistry在 org.springframework.cloud.dataflow.completion.CompletionConfiguration 需要一个类型的bean 'org.springframework.cloud.dataflow.registry.service.AppRegistryService' 找不到。注入点具有以下 注释:
-@org.springframework.beans.factory.annotation.Autowired(required = true)
pom.xml
<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>com.ms</groupId>
<artifactId>abc-ui</artifactId>
<version>0.0.1-SNAPSHOT</version>
<name>abc-ui</name>
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>2.2.2.RELEASE</version>
</parent>
<properties>
<java.version>8</java.version>
<h2.version>1.4.193</h2.version>
</properties>
<dependencies>
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-dataflow-server</artifactId>
<version>2.5.1.RELEASE</version>
</dependency>
<dependency>
<groupId>com.h2database</groupId>
<artifactId>h2</artifactId>
</dependency>
</dependencies>
</project>
Java文件:
@EnableDataFlowServer
@SpringBootApplication(exclude = {CloudFoundryDeployerAutoConfiguration.class})
public class App {
public static void main(String[] args) {
SpringApplication.run(App.class,args);
}
}
有什么方法可以禁用“ AppRegistry” Bean配置吗? 我已经在另一个系统中实现了相同的项目,并且运行正常。 请让我知道我在犯什么错误。
解决方法
AppRegistryService
是SCDF的必需组件,因为它是为Stream和Task应用程序注册的所有应用程序的真相。
因此,无法显式禁用它。但是,您仍然可以使用AppRegistryService
的其他实现,并使其覆盖现有的实现。