spring云数据流destinationresolutionexception运行示例源时

rqenqsqc  于 2021-06-07  发布在  Kafka
关注(0)|答案(1)|浏览(398)

我在运行示例spring云数据流源应用程序时遇到问题。应用程序退出时代码为0(它应该正在工作)。我调试了它并注意到抛出了以下异常:

DestinationResolutionException: failed to look up MessageChannel with name 'output'

我在看入门指南http://docs.spring.io/spring-cloud-stream/docs/current/reference/htmlsingle/index.html#_getting_started 但我不能让它工作。我所做的:-我让Zookeeper工作;-我让Kafka工作;
代码:

import org.springframework.cloud.stream.annotation.EnableBinding;
import org.springframework.cloud.stream.messaging.Source;
import org.springframework.integration.annotation.InboundChannelAdapter;

@EnableBinding(Source.class)
public class SampleSource {

    @InboundChannelAdapter(Source.OUTPUT)
    public String greet() {
        return "hello world " + System.currentTimeMillis();
    }
}

import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.context.ConfigurableApplicationContext;

@SpringBootApplication
public class SampleSourceApplication {

    public static void main(String[] args) {
        try (ConfigurableApplicationContext run = SpringApplication.run(SampleSourceApplication.class, args)) {
        }
    }
}

和pom:

<properties>
    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
    <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
    <java.version>1.8</java.version>
</properties>

<dependencyManagement>
    <dependencies>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-parent</artifactId>
            <version>1.4.2.RELEASE</version>
            <scope>import</scope>
            <type>pom</type>
        </dependency>  
        <dependency>
            <groupId>org.springframework.cloud</groupId>
            <artifactId>spring-cloud-dependencies</artifactId>
            <version>Camden.SR3</version>
            <type>pom</type>
            <scope>import</scope>
        </dependency>
    </dependencies>
</dependencyManagement>

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

    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-test</artifactId>
        <scope>test</scope>
    </dependency>
</dependencies>

<build>
    <plugins>
        <plugin>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-maven-plugin</artifactId>
        </plugin>
    </plugins>
</build>

命令行参数:--spring.cloud.stream.bindings.output.destination=test
我可以提供有关例外情况的更多详细信息:

org.springframework.messaging.core.DestinationResolutionException: failed to look up MessageChannel with name 'output' in the BeanFactory.; 
nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'org.springframework.cloud.stream.messaging.Source': Initialization of bean failed; 
nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'org.springframework.cloud.stream.config.ChannelBindingServiceConfiguration': Initialization of bean failed; 
nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'spring.jackson-org.springframework.boot.autoconfigure.jackson.JacksonProperties': Initialization of bean failed; 
nested exception is java.lang.IllegalStateException: org.springframework.boot.context.embedded.AnnotationConfigEmbeddedWebApplicationContext@2ef14fe has been closed already
blpfk2vs

blpfk2vs1#

看起来像是在上课 SampleSource 不是由主应用程序导入的。你确定 SampleSource 类与的包在同一个包中 SampleSourceApplication ?

相关问题