簡體   English   中英

Cloud Stream 中的@EnableBinding 在后面是做什么的?

[英]What does @EnableBinding in Cloud Stream do in the back?

我目前正在使用 spring 雲流。 我正在使用@EnableBinding annotation。 但我不知道這在后面做什么。 當我查看 Springin 的官方網站時,我並沒有得到太多。 你能詳細給我解釋一下嗎?

我還有一個問題。

public interface Sink {
  String INPUT = "input";

  @Input(Sink.INPUT)
  SubscribableChannel input();
}


@SpringBootApplication
@EnableBinding(Sink.class)
public class VoteRecordingSinkApplication {

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

  @StreamListener(Sink.INPUT)
  public void processVote(Vote vote) {
      votingService.recordVote(vote);
  }
}

為什么Spring需要這個接口?我只是希望我們可以寫streamlistener。 后面怎么回事?

你沒有得到太多的原因是因為在 3.0.0 (Hoxton) 中,我們正在遠離基於注釋的模型,轉而支持功能性,我已經盡我所能刪除了對EnableBinding盡可能多的引用和StreamListener ,我可以從新的用戶指南中獲得。 我們的發布公告包含幾個鏈接,可以更深入地了解我們的動機。

雖然您可以在舊指南中獲得有關EnableBinding更多信息,但簡而言之,它在提供的接口中標識的通道和外部綁定器目標(例如,Kafka 主題、Rabbit 隊列/交換等)之間架起了一座橋梁。

但正如我所說,如果您剛剛開始使用 spring-cloud-stream,則不需要使用它們

暫無
暫無

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

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