4


mein Ziel ist es, eine Anwendung mit Spring Cloud Stream und Kafka, und entdecken Sie die "reaktive" Welt. Ich habe etwas, das funktioniert. Hier ist ein Teil meines Verbrauchers. In meinem pom, habe ich erklärt:Spring Cloud Stream mit reaktiven Streams

 <dependency> 
      <groupId>org.springframework.cloud</groupId> 
      <artifactId>spring-cloud-starter-stream-kafka</artifactId> 
     </dependency> 

Das 1.0.0.RELEASE ist, die ich benutze. mein Service

@MessageEndpoint 
@EnableBinding(MyChannels.class) 
public class MyConsumer { 

    @Autowired 
    private MyChannels channels; 

    @ServiceActivator(inputChannel=MyChannels.TOPIC_NAME) 
    public void receive(MyObject object) { 
     //apply my business logic 
     //like save my object in a database 
    } 
} 

erhalte ich meine Botschaft gut

public interface MyChannels { 

    public static final String TOPIC_NAME = "myTopicName"; 

    @Input(TOPIC_NAME) 
    MessageChannel receive(); 
} 

und dann
Ich habe meine Kanäle erklärt. Ich habe in meinen Abhängigkeiten gesehen, dass Feder-Integration-Kafka von Reaktorkern abhängt. Reicht es aus, meine App "reaktiv" zu machen? Was soll ich tun, um den reaktiven Programmierstil anzuwenden?

Muss ich den @EnableRxJavaProcessor verwenden, wenn ja, ich verstehe nicht wie.

Wenn ich nicht klar bin, zögern Sie nicht, es in Kommentar zu schreiben. Danke

Antwort

6

Die Verwendung von Reactor ist intern im Projekt und macht Ihre Anwendung nicht reaktiv (nicht gerade erst :)). http://docs.spring.io/spring-cloud-stream/docs/current/reference/htmlsingle/#_rxjava_support

Wir breitere Unterstützung im Frühjahr Cloud-Stream-1.1 hier zur Verfügung zu stellen beabsichtigen:

Die Verwendung von RxJava Unterstützung wird hier durch die Referenz-Dokumentation abgedeckt https://github.com/spring-cloud/spring-cloud-stream/issues/458

Cheers, Marius

+0

Dank Marius Ich hoffe, dass Sie oder eines Ihrer Teammitglieder meine Nachricht sehen :) Ich habe die Github-Ausgabe seit gestern zwei- oder dreimal gelesen. Ich habe einige Schwierigkeiten zu verstehen, wie EnableRxJavaProcessor meine Nachricht verbrauchen wird. Gibt es mehr Dokumentation oder etwas, das mir mehr helfen könnte? – vincent

+0

Hallo, Sie brauchen '@ EnableRxJavaProcessor' nur, wenn Sie Ihre App selbst zum RxJava-basierten Message-Handler machen wollen. Dieses Beispiel kann Ihnen helfen, besser zu verstehen: https://github.com/spring-cloud/spring-cloud-stream-samples/tree/master/rxjava-processor. –

Verwandte Themen