簡體   English   中英

將 Spring Cloud Stream 轉換為使用響應式雲功能

[英]Convert Spring Cloud Stream to use reactive cloud function

目前我有類似這樣的 Spring Boot 應用程序。

@Component
@EnableBinding(Source::class)
class EmailMessageProducer(private val source: Source) {

    suspend fun send(textMessage: TextMessage) {

        source.output().send(
            MessageBuilder.withPayload(textMessage).setHeader("service", "test").build()
        )
    }
}

我想在這里使用響應式模式使用 Spring Cloud Function。

此外,我當前的解決方案是非阻塞的嗎? 我問這個是因為這是我第一次在這種情況下使用 Kotlin 協程。

Java 解決方案也適用於我,因為我只是想了解這里的概念。

您正在尋找的是反應式供應商(例如, Supplier<Flux> )。

在您的情況下,它看起來像這樣:

@SpringBootApplication
public class SomeApplication {

    @Bean
    public Supplier<Flux<Message<String>>> messageProducer() {
        return () -> Flux.just(MessageBuilder.withPayload(textMessage).setHeader("service", "test").build());
    }
}

提供spring.cloud.function.definition=messageProducer屬性就spring.cloud.function.definition=messageProducer了。

顯然上面的例子產生了一個帶有單個項目的有限流,但可以隨意修改返回的通量。 事實上,我們在這里更詳細地討論了這一點

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM