春云数据流组件冲突

时间:2016-08-09 15:33:27

标签: spring-cloud-stream spring-cloud-dataflow

我刚开始使用spring cloud数据流项目。

我尝试使用http://start-scs.cfapps.io

推荐的spring initialr创建一些自定义组件

我发现快速选择的一些组件正在碰撞

例如,我生成了一个具有以下两个启动器的

<dependency>
        <groupId>org.springframework.cloud</groupId>
        <artifactId>spring-cloud-stream-binder-rabbit</artifactId>
    </dependency>
    <dependency>
        <groupId>org.springframework.cloud.stream.app</groupId>
        <artifactId>spring-cloud-starter-stream-sink-rabbit</artifactId>
    </dependency>
    <dependency>
        <groupId>org.springframework.cloud.stream.app</groupId>
        <artifactId>spring-cloud-starter-stream-source-file</artifactId>
    </dependency>

我得到的错误是(带有漂亮的弹簧启动1.4.0诊断)

***************************
APPLICATION FAILED TO START
***************************

Description:

There is a circular dependency between 2 beans in the application context:
    - fileSourceFlow defined in org.springframework.cloud.stream.app.file.source.FileSourceConfiguration
    - org.springframework.cloud.stream.app.rabbit.sink.RabbitSinkConfiguration
    - amqpChannelAdapter

我还发现除非我明确导入他们的配置文件,否则文件和兔子组件甚至都没有被引入。

@SpringBootApplication
@Import(
        {
                FileSourceConfiguration.class,
                RabbitSinkConfiguration.class
        }
)
public class CommonfileingestorApplication {

    public static void main(String[] args) {
        SpringApplication.run(CommonfileingestorApplication.class, args);
    }
}

1 个答案:

答案 0 :(得分:1)

  

例如,我生成了一个具有以下两个启动器的

与典型的启动程序不同,流和任务启动程序可用作独立应用程序,因此您可以单独对它们进行自定义。如果您必须将多个应用程序组合为一个复合单元,则必须使用AggregateBuilder API - 请参阅此sample

  

我还发现除非我明确导入他们的配置文件,否则文件和兔子组件甚至都没有被引入。

是 - 请查看reference guide了解自定义步骤。