当前位置: 首页 > 知识库问答 >
问题:

使用功能接口创建的Spring cloud stream应用程序未在Spring cloud数据流中通信数据

葛俊
2023-03-14

我使用Spring云函数方法传输流量创建了3个简单的Spring云流应用程序(源/处理器/接收器)。

源应用程序

@SpringBootApplication
public class SourceApplication {

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

    @PollableBean
    public Supplier<Flux<String>> stringSupplier() {
        return () -> {
            String v1 = String.valueOf("abc");
            String v2 = String.valueOf("pqr");
            String v3 = String.valueOf("xyz");
            return Flux.just(v1, v2, v3);
        };
    }
}

处理器-应用程序:

@SpringBootApplication
public class ProcessorApplication {

    @Bean
    public Function<Flux<String>, Flux<String>> uppercase() {
        return flux -> flux.map(value -> value.toUpperCase()).log();
    }

    public static void main(String[] args) {
        SpringApplication.run(ProcessorApplication.class, args);
    }
}

下沉应用:

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

    @Bean
    public Consumer<Flux<String>> log() {
        return flux -> {
            flux.subscribe(f -> System.out.println("Received data: " + f));
        };
    }
}

我添加的依赖项包括:

SpringBoot version = 2.2.6.RELEASE

implementation(platform("org.springframework.cloud:spring-cloud-dependencies:Hoxton.SR5"))
implementation(platform("org.springframework.cloud:spring-cloud-stream-dependencies:Horsham.SR5"))
implementation("org.springframework.cloud:spring-cloud-starter-stream-rabbit")
implementation("org.springframework.cloud:spring-cloud-starter-function-webflux:3.0.7.RELEASE")
implementation("org.springframework.boot:spring-boot-starter-actuator")
implementation("org.springframework.boot:spring-boot-starter-webflux")

我已经在Spring云数据流中注册了这些应用程序,并部署在流中。

我能够单独通过HTTP和RabbitMQ将数据传输到这些应用程序并接收输出。但是,消息不会跨应用程序进行通信(Source-

当前我的应用程序属性文件完全为空。

共有1个答案

晏和风
2023-03-14

您需要设置Spring。云流动作用绑定-in-0=输入。看见https://cloud.spring.io/spring-cloud-static/spring-cloud-stream/current/reference/html/spring-cloud-stream.html#_programming_model.我们希望在未来的数据流版本中实现这一点的自动化。

 类似资料:
  • 问题: 我完成了tuto:https://docs.spring.io/spring-cloud-dataflow/docs/current/reference/htmlsingle/#_custom_processor_application 然后注册了一个名为transformer(处理器类型)的自定义应用程序。 picture 创建一个流,并使用自定义应用程序部署它。 -问题1:自定义应用程

  • 问题内容: 我构建了phoneGap应用程序,它是一个Facebook风格的应用程序,其想法是用户可以发布消息,而他们的朋友可以对此消息发表评论。该应用基于html,js和phoneGap。我有一台带有mysql数据库的服务器。我的问题是如何从远程数据库中拉出和推送数据。我是个初学者,所以我不太确定如何做到这一点。即使加载完成后,我也需要实时更新页面 我用Google搜索它,我意识到我需要使用Aj

  • 问题内容: 我有一个像这样的应用程序工厂 然后,我有一个脚本,可以在应用程序上下文之外获取CSV。该脚本是一个cron,每x小时运行一次 我想以某种方式更新应用程序正在使用的sqlite数据库。这可能吗? 问题答案: Flask-SQLAlchemy只需要一个应用程序上下文即可运行。您可以手动创建应用上下文。 这来自这里和这里的文档。

  • 我已经尝试了StackOverflow中给出的许多解决方案,比如中的一些更改、更改方言、设置模式等。我检查了数据库权限和用户/密码信息,一切正常。 } 根据我下面的教程,这个设置应该导致在postgres数据库中创建表,但它没有发生。

  • 我有一个反应式核心WebClient要发布到给定的endpoint。有效负载是对象的流量,内容类型是application/stream json flux jobFlux=flux。只是(新工作); 在服务器端,我尝试了Spring控制器样式和Spring Web反应式FunctionHandler,以使用流量负载处理上述调用的负载。 当实例化一个新对象时,域类创建和标识: 仓库目前只是一个存根

  • 我正在使用azure AD Graph API在azure应用程序中创建一个新角色。我所做的是使用以下代码从azure获取访问令牌: 并使用以下代码创建角色: 我还向Microsoft Graph API授予了所有应用程序权限,而不是从Azure portal委派的权限。但我得到了这个错误: 访问令牌:从ADzure AD返回的访问令牌