首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Spring云流绑定器kafka不能在Netty上运行

Spring云流绑定器kafka不能在Netty上运行
EN

Stack Overflow用户
提问于 2017-12-25 03:22:57
回答 1查看 420关注 0票数 1

我想使用Kafka Steams和Spring Webflux在Netty之上构建一个流引擎,以通过HTTP提供持续的状态更改。我注意到如果我有

代码语言:javascript
复制
compile('org.springframework.cloud:spring-cloud-stream-binder-kafka')

在我的gradle文件中,spring boot app以嵌入式Tomcat开头,而不是Netty。

如果我删除

代码语言:javascript
复制
compile('org.springframework.cloud:spring-cloud-stream-binder-kafka')

而不是从Netty开始。

这是不是某种设计决定不为spring-cloud-stream-binder-kafka提供响应式功能,还是我做错了什么?完整的gradle配置如下所示:

代码语言:javascript
复制
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)
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-12-25 03:40:19

这不是故意的。绑定器的2.0版本仍在开发中;spring-cloud-stream的执行器端点可能还没有迁移。

顺便说一句,我看到你正在使用boot M4 --当前的2.0里程碑是M7。

我不知道这是否能解决您的问题;您也许可以排除mvc jar,但我不知道执行器是否可以工作,或者您是否可以禁用stream的执行器,所以YMMV。

不过,您应该能够直接使用spring-kafka。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/47963440

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档