Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/apache-kafka/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Apache kafka 使用kafka使用Spring cloud stream创建单元测试时出错_Apache Kafka_Spring Cloud Stream - Fatal编程技术网

Apache kafka 使用kafka使用Spring cloud stream创建单元测试时出错

Apache kafka 使用kafka使用Spring cloud stream创建单元测试时出错,apache-kafka,spring-cloud-stream,Apache Kafka,Spring Cloud Stream,我不知道如何使用卡夫卡做一个样本测试,我试图遵循spring指南,但没有成功 有人能帮我吗 ZZZZZZZZZ z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z @RunWith(SpringRunner.class) @SpringBootTest @DirtiesContext public class Enr

我不知道如何使用卡夫卡做一个样本测试,我试图遵循spring指南,但没有成功

有人能帮我吗

ZZZZZZZZZ z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z z

@RunWith(SpringRunner.class)
@SpringBootTest
@DirtiesContext 
public class EnrollSenderTest {

@Autowired
public EnrollSender producer;

@Autowired
private BinderFactory<MessageChannel> binderFactory;

@Autowired
private MessageCollector messageCollector;

@SuppressWarnings("unchecked")
@Test
public void test() {

    Message<String> message = new GenericMessage<>("hello");
    producer.sendEnroll(message);

    Message<String> received = (Message<String>) messageCollector.forChannel(producer.getOutput()).poll();
    assertThat(received.getPayload(), equalTo("hello"));
}
}
}

但给出了以下错误:

java.lang.IllegalStateException: Failed to load ApplicationContext
Caused by: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'messageCollector' defined in class path resource [org/springframework/cloud/stream/test/binder/TestSupportBinderAutoConfiguration.class]: Bean instantiation via factory method failed; nested exception is org.springframework.beans.BeanInstantiationException: Failed to instantiate [org.springframework.cloud.stream.test.binder.MessageCollector]: Factory method 'messageCollector' threw exception; nested exception is java.lang.NoSuchMethodError: org.springframework.cloud.stream.binder.BinderFactory.getBinder(Ljava/lang/String;Ljava/lang/Class;)Lorg/springframework/cloud/stream/binder/Binder;

Caused by: org.springframework.beans.BeanInstantiationException: Failed to instantiate [org.springframework.cloud.stream.test.binder.MessageCollector]: Factory method 'messageCollector' threw exception; nested exception is java.lang.NoSuchMethodError: org.springframework.cloud.stream.binder.BinderFactory.getBinder(Ljava/lang/String;Ljava/lang/Class;)Lorg/springframework/cloud/stream/binder/Binder;

Caused by: java.lang.NoSuchMethodError: org.springframework.cloud.stream.binder.BinderFactory.getBinder(Ljava/lang/String;Ljava/lang/Class;)Lorg/springframework/cloud/stream/binder/Binder;

看起来您在类路径上设置了不匹配的依赖项(即,旧版本的SpringCloudStreamCore)

您可以通过删除
spring云流测试支持的版本来解决这个问题,因为
Camden.SR4
BOM将提供正确的版本

此外,如果要使用嵌入式Kafka实例进行测试,可以在此处找到一个示例:


(该示例向您展示了如何使用嵌入式代理配置Kafka活页夹进行测试-它还展示了如何在同一个应用程序中使用两个不同的活页夹,但您可能并不关心这一点)。

看起来您在类路径上有一个不匹配的依赖项集(即旧版本的Spring Cloud Stream core)

您可以通过删除
spring云流测试支持的版本来解决这个问题,因为
Camden.SR4
BOM将提供正确的版本

此外,如果要使用嵌入式Kafka实例进行测试,可以在此处找到一个示例:


(该示例向您展示了如何使用嵌入式代理配置Kafka活页夹进行测试-它还展示了如何在同一个应用程序中使用两个不同的活页夹,但您可能对此并不关心)。

我的家属Marius Bogoevici

dependencyManagement {
 imports {
      mavenBom "org.springframework.cloud:spring-cloud-dependencies:Camden.SR4"
   }
}

compile 'org.springframework.cloud:spring-cloud-starter-stream-kafka'
compile group: 'org.springframework.cloud', name: 'spring-cloud-stream-test-support', version: '1.1.1.RELEASE'

马吕斯·博戈维奇,我的家属

dependencyManagement {
 imports {
      mavenBom "org.springframework.cloud:spring-cloud-dependencies:Camden.SR4"
   }
}

compile 'org.springframework.cloud:spring-cloud-starter-stream-kafka'
compile group: 'org.springframework.cloud', name: 'spring-cloud-stream-test-support', version: '1.1.1.RELEASE'

这是因为上文马吕斯指出的不兼容版本

您可能需要具有兼容版本的Spring Cloud Stream和Spring Cloud Stream测试支持的
Camden.SR5
,或者具有Spring Cloud Stream测试支持版本
1.1.0.RELEASE
Camden.SR4


是介于Spring Cloud Steram的
1.1.0.发行版
1.1.1.发行版
之间的变化:

这是因为上文马吕斯指出的不兼容版本

您可能需要具有兼容版本的Spring Cloud Stream和Spring Cloud Stream测试支持的
Camden.SR5
,或者具有Spring Cloud Stream测试支持版本
1.1.0.RELEASE
Camden.SR4


是介于Spring Cloud Steram的
1.1.0.RELEASE
1.1.1.RELEASE
之间的更改:

dependencManagement{imports{mavenBom“org.springframework.Cloud:Spring Cloud dependencies:Camden.SR4}编译'org.springframework.cloud:springcloudstarterstreamkafka'编译组:'org.springframework.cloud',名称:'springcloudstreamtestsupport',版本:'1.1.1.RELEASE'
dependencyManagement{imports{mavenBom“org.springframework.cloud:springcloud dependences:Camden.SR4'}编译'org.springframework.cloud:spring cloud starter stream kafka'编译组:'org.springframework.cloud',名称:'spring cloud stream test support',版本:'1.1.1.RELEASE'修订版Ilayaperumal Gopinathan谢谢,我能够添加第二个参数,但错误保持不变。您可以共享当前依赖项和异常stacktrace吗?修订版Ilayaperumal Gopinathan谢谢,我可以添加第二个参数,但错误保持不变。您可以共享当前依赖项和异常stacktrace吗?