SpringCloudStream-HttpSource返回404

时间:2016-10-27 23:54:04

标签: spring-cloud spring-cloud-stream

我正在使用SpringCloudStream的Brooklyn.Release版本。我的用例有HttpSource和Mutiple Sinks。当我将Starter App依赖项添加到应用程序并使用它时如下:

<dependency>
                <groupId>org.springframework.cloud.stream.app</groupId>
                <artifactId>spring-cloud-starter-stream-source-http</artifactId>
                <version>1.0.4.RELEASE</version>
</dependency>

@SpringBootApplication
@Import(HttpSourceConfiguration.class)
public class SourceApplication {
    public static void main(String[] args) {
        SpringApplication.run(SourceApplication.class, args);
    }
}

我的聚合应用

@SpringBootApplication
public class Application {
    public static void main(String[] args) {
        new AggregateApplicationBuilder().from(SourceApplication.class)
                .via(ProcessorApplication.class).to(SinkApplication.class).args().run(args);
    }
}

始终如下获得以下回复:

<Fault xmlns="http://localhost/">
   <error>Not Found</error>
   <message>No message available</message>
   <path>/</path>
   <status>404</status>
   <timestamp>1477612242743</timestamp>
</Fault>

为HttpSourceConfiguration添加了ComponentScan(开箱即用);但没有成功。

@SpringBootApplication
@ComponentScan(value = {"com.xxx.xxx.stream","org.springframework.cloud.stream.app.http.source"})
public class Application {
    public static void main(String[] args) {
        new AggregateApplicationBuilder().from(SourceApplication.class)
                .via(ProcessorApplication.class).to(SinkApplication.class).args().run(args);
    }
}

如果我在Rabbit Binder中使用相同的SourceApplication,它会按预期工作。能指导我做这个工作吗?

感谢您的帮助和时间。

此致 KARTHIK

1 个答案:

答案 0 :(得分:0)

REST端点似乎没有设置,看起来您可能遇到了这个issue。对于@ComponentScan所在的包,您需要HttpSourceConfiguration(因为它来自不同的包)。

  

如果我对Rabbit Binder使用相同的SourceApplication,它会按预期工作。

你的意思是开箱即用的http应用程序与兔子绑定器或你刚刚在上面的rabbit添加了SourceApplication绑定器依赖?

通常您更喜欢使用开箱即用的http源应用程序(使用任何相关的活页夹),但对于聚合应用程序,您不需要活页夹,除非您有{{1聚合应用程序本身或input绑定到代理。