2017-12-24 7 views
1

Ich möchte eine Streaming-Engine mit Kafka Steams und Spring Webflux auf Netty erstellen, um Statusänderungen über HTTP zu ermöglichen. Was ich bemerkt habe, wenn ichSpring cloud stream binder kafka läuft nicht auf Netty

compile('org.springframework.cloud:spring-cloud-stream-binder-kafka') 

Abhängigkeit in meinem gradle Datei Frühjahr Boot-App startet mit eingebetteten Tomcat statt Netty habe.

Wenn ich

compile('org.springframework.cloud:spring-cloud-stream-binder-kafka') 

entfernen, als es mit Netty beginnt.

Ist das eine Art von Design-Entscheidung, keine reaktiven Fähigkeiten mit spring-cloud-stream-binder-kafka zu liefern oder mache ich etwas falsch? Die Konfiguration der vollständigen Konfiguration sieht wie folgt aus:

buildscript { 
    ext { 
     springBootVersion = '2.0.0.M4' 
     springKafkaVersion = '2.1.0.RELEASE' 
     kafkaStreamsVersion = '1.0.0' 
     confluentVersion = '4.0.0' 
     avroVersion = '1.8.2' 
     avroPluginVersion = '0.12.0' 
    } 
    repositories { 
     mavenCentral() 
     maven { url "https://repo.spring.io/snapshot" } 
     maven { url "https://repo.spring.io/milestone" } 
     maven { url "https://plugins.gradle.org/m2/" } 
    } 
    dependencies { 
     classpath("org.springframework.boot:spring-boot-gradle-plugin:$springBootVersion") 
     classpath "com.commercehub.gradle.plugin:gradle-avro-plugin:$avroPluginVersion" 
    } 
} 

apply plugin: 'java' 
apply plugin: 'org.springframework.boot' 
apply plugin: 'io.spring.dependency-management' 
apply plugin: "com.commercehub.gradle.plugin.avro" 

group = 'eu.lkokhreidze' 
version = '0.0.1-SNAPSHOT' 
sourceCompatibility = 1.8 

repositories { 
    mavenCentral() 
    maven { url "https://repo.spring.io/snapshot" } 
    maven { url "https://repo.spring.io/milestone" } 
    maven { url "https://packages.confluent.io/maven/" } 
} 

ext { 
    springCloudVersion = 'Finchley.M3' 
} 

dependencies { 
    compile('org.springframework.boot:spring-boot-starter-webflux') 
    compile('org.springframework.boot:spring-boot-starter-actuator') 
    compile('org.springframework.cloud:spring-cloud-stream-binder-kafka') 
    compile("org.springframework.kafka:spring-kafka:$springKafkaVersion") 

    compile("org.apache.avro:avro:$avroVersion") 
    compile("org.apache.kafka:kafka-streams:$kafkaStreamsVersion") 
    compile("io.confluent:kafka-streams-avro-serde:$confluentVersion") 

    compileOnly('org.springframework.boot:spring-boot-configuration-processor') 
    compileOnly('org.projectlombok:lombok') 

    testCompile('org.springframework.boot:spring-boot-starter-test') 
    testCompile('io.projectreactor:reactor-test') 
} 

dependencyManagement { 
    imports { 
     mavenBom "org.springframework.cloud:spring-cloud-dependencies:$springCloudVersion" 
    } 
} 

compileJava.dependsOn(generateAvroJava) 
compileTestJava.dependsOn(generateTestAvroJava) 

Antwort

2

Dies ist nicht beabsichtigt. Die Version 2.0 des Binders befindet sich noch in der Entwicklung; Die Aktuatorendpunkte von spring-cloud-stream wurden möglicherweise noch nicht migriert.

BTW, ich sehe, Sie verwenden Boot M4 - der aktuelle 2.0 Meilenstein ist M7.

Ich weiß nicht, ob das Ihr Problem lösen wird; Sie können vielleicht die Mvc-Gläser ausschließen, aber ich weiß nicht, ob die Aktoren funktionieren, oder wenn Sie den Aktor des Stromes deaktivieren können, also YMMV.

Sie sollten jedoch Spring-Kafka direkt verwenden können.

+0

Ich versuchte mit M7 auch, das gleiche Problem. Aber danke für die Klarstellung, es macht Sinn. Ich werde versuchen herauszufinden, was ich damit anfangen kann. –

+0

Ich öffnete [Ausgabe # 1163] (https://github.com/spring-cloud/spring-cloud-stream/issues/1163). –

Verwandte Themen