Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/351.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 云流中的@EnableBinding在后面做什么?_Java_Spring_Apache Kafka_Spring Cloud Stream - Fatal编程技术网

Java 云流中的@EnableBinding在后面做什么?

Java 云流中的@EnableBinding在后面做什么?,java,spring,apache-kafka,spring-cloud-stream,Java,Spring,Apache Kafka,Spring Cloud Stream,我目前正在使用SpringCloudStream。我正在使用@EnableBinding annotation。但我不知道这在后面干什么。当我查看斯普林的官方网站时,我并没有得到多少信息。你能给我详细解释一下吗 我还有一个问题 public interface Sink { String INPUT = "input"; @Input(Sink.INPUT) SubscribableChannel input(); } @SpringBootApplication @Enabl

我目前正在使用SpringCloudStream。我正在使用@EnableBinding annotation。但我不知道这在后面干什么。当我查看斯普林的官方网站时,我并没有得到多少信息。你能给我详细解释一下吗

我还有一个问题

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
的引用。我们的网站包含几个链接,可以深入了解我们的动机

虽然您可以在中获得有关启用绑定的更多信息,但简而言之,它在提供的接口中标识的通道和外部绑定目的地(例如卡夫卡主题、兔子队列/交换等)之间建立了一座桥梁

但正如我所说的,如果您刚刚开始使用SpringCloudStream,您不需要使用它们