Java Spring云流函数支持不起作用

Java Spring云流函数支持不起作用,java,spring,spring-webflux,spring-cloud-stream,Java,Spring,Spring Webflux,Spring Cloud Stream,我正在尝试将SpringCloudStream与本文描述的函数一起使用。但它不起作用 我的职能: @SpringBootApplication public class Application { public static void main(String[] args) { SpringApplication.run(Application.class); } @Bean public Consumer<String> cons

我正在尝试将SpringCloudStream与本文描述的函数一起使用。但它不起作用

我的职能:

@SpringBootApplication
public class Application {

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

    @Bean
    public Consumer<String> consumer() {
        return s -> System.out.println(s);
    }
}
我的yaml通道配置:

spring:
    cloud:
        function:
            definition: consumer
        stream:
            bindings:
                source:
                    destination: consumer-in-0
如果我通过
@Input
配置使用消费者-一切正常。 同样在rabbitmq管理器中,我看到生产者正在工作并发送消息,但消费者并不使用它们。 请帮帮我


另外,我还使用SpringWebFlux,您不能在同一应用程序中混合使用
启用绑定
和功能模型。如果将生产者和消费者放在同一个应用程序中,则可能需要使用
供应商转换生产者。例如

@Bean
public Supplier<String> supplier() {
  return () -> MessageBuilder.withPayload("Hello").build();

}

不能在同一应用程序中混合使用
EnableBinding
和功能模型。如果将生产者和消费者放在同一个应用程序中,则可能需要使用
供应商转换生产者。例如

@Bean
public Supplier<String> supplier() {
  return () -> MessageBuilder.withPayload("Hello").build();

}

看起来你是对的,很有效,非常感谢。现在我尝试通过rabbit manager发送有效负载,我的
消费者
正在工作。但是,如何从代码运行(执行)我的
供应商
?我尝试了
supplier().get()
,但不起作用((或者我如何以编程方式向主题发送消息?如果它是我建议的
供应商
bean,并且您将其添加到
spring.cloud.function.definition
,它应该由spring cloud Stream自动调用。默认情况下,供应商每秒都会被触发,但您可以控制使用它看起来是正确的,它可以工作,非常感谢。现在我尝试通过rabbit manager发送有效负载,我的
消费者
正在工作。但是,如何从代码运行(执行)我的
供应商
?我尝试了
供应商().get()
,但它不起作用((或者我如何以编程方式向主题发送消息?如果它是我建议的
供应商
bean,并且您将其添加到
spring.cloud.function.definition
,它应该由spring cloud Stream自动调用。默认情况下,供应商将每秒触发一次,但您可以使用
spring:
    cloud:
        function:
            definition: supplier;consumer
        stream:
            bindings:
                supplier-out-0:
                    destination: consumer-in-0