2016-08-09 335 views
1

Ich habe gerade begonnen, die Feder Wolke Datenfluss-Projekt zu verwenden.Frühling Wolke Datenfluss Komponente Kollisionen

Ich habe versucht, einige benutzerdefinierte Komponenten zu schaffen mit Hilfe der Feder initialr dass bei http://start-scs.cfapps.io

empfohlen wurde ich finde, dass schnell ein paar der ausgewählten Komponenten

Zum Beispiel kollidieren, und ich habe erzeugt, der die folgende hatte zwei Starter

<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> 

der Fehler, den ich bekommen ist (mit dem geschickten Feder Boot 1.4.0 Diagnose) sind

*************************** 
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 

Ich fand auch, dass die Datei und Kaninchen-Komponenten wurden nicht sogar eingeführt, es sei denn, ich habe einen expliziten Import ihrer Konfigurationsdateien.

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

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

AFAIK, Sie können keine Quelle und eine Senke in der gleichen App haben - was versuchen Sie zu bauen? –

+0

Ich wollte eine Datei aus einem Verzeichnis lesen und in eine Hase-MQ-Warteschlange schieben. – EvilJinious1

Antwort

1

Zum Beispiel erzeugen ich eine, die

Im Gegensatz zu typischem Boot-Starter die folgenden zwei Starter hatten, der Strom und Aufgaben Starter gedacht sind als Standalone-Anwendungen verwendet werden, so können Sie tun Anpassungen an ihnen individuell. Wenn Sie mehrere Anwendungen zu einer zusammengesetzten Einheit zusammenstellen müssen, müssen Sie die API AggregateBuilder verwenden - siehe sample.

Ich fand auch, dass die Datei und Kaninchen-Komponenten wurden nicht sogar eingeführt, es sei denn, ich habe einen expliziten Import ihrer Konfigurationsdateien.

Ja - bitte überprüfen Sie die reference guide für die Anpassungsschritte.

+0

Ich interpretierte den Starter in der Post, die als eine Möglichkeit zum Erstellen benutzerdefinierter Anwendungen referenziert wurde, ähnlich wie die reguläre Spring Boot Initializr Online App. Anscheinend kann es nicht so benutzt werden – EvilJinious1