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

Spring云流功能支持不起作用

佟翰林
2023-03-14

我试图将Spring Cloud Stream与本主题中描述的功能一起使用。但是它不起作用。

我的职能:

@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);
    }
}

我推送消息。通过使用输出注释制作的生产者,发送到consumer-in-0频道:

pulic interface Source {
    @Output("source")
    MessageChannel producer();
}

source.producer().send(MessageBuilder.withPayload("Hello").build());

我的yaml通道配置:

spring:
    cloud:
        function:
            definition: consumer
        stream:
            bindings:
                source:
                    destination: consumer-in-0

如果我通过@Input配置使用消费者,一切正常。同样在rabbitmq管理器中,我看到生产者正在工作并发送消息,但消费者并不使用它们。帮帮我,请某人帮忙。

附言:我也使用Spring WebFlux

共有1个答案

武功
2023-03-14

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

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

}

然后

spring:
    cloud:
        function:
            definition: supplier;consumer
        stream:
            bindings:
                supplier-out-0:
                    destination: consumer-in-0
 类似资料:
  • 编辑:因为人们仍然从google登陆这里,你必须在OpenGL环境中调用每一个OpenGL方法。因此,在使用GL做任何事情之前,请确保您在一个上下文中。 我试图用lwjgl在我的屏幕上呈现一个简单的文本,但是每次都失败了!当我启动游戏时,它崩溃了,并向我抛出错误: 我需要使用现代openGL还是什么?我真的需要帮助

  • 功能分支工作流在集中式工作流的基础上又扩展了一下。在集中式工作流里,大家都往远程的一个 master 分支上 push 提交,使用功能分支工作流,开发者不直接向 master 上 push,他们在各自的本地创建新的分支,去开发新功能,去修复 Bug ,去实验自己的想法。 完成以后,开发者可以把这些功能分支 push 到远程仓库,然后可以提交一个 pull request,这样可以跟项目的其他协作开

  • 我们正在将我们的工作和数据流从Spring XD迁移到Kubernetes上的Spring cloud数据流。 Spring cloud数据流有商业支持吗?任何链接都有帮助。

  • 我不能让谷歌云功能运行超过60秒,即使超时设置为540秒!!有什么建议吗? 我将部署时的超时标志设置为--timeout=540,并且我知道该设置会通过,因为在GCP WEB UI中会显示540秒的超时设置。我还尝试通过GCP WEB UI手动编辑超时至540。但无论如何,我还是在大约62000毫秒后超过了最后期限。 我已经尝试了pub/sub和https方法作为func触发器,但是仍然在60度左

  • 这是我在私人网络中的简单合同 我已经使用web3J生成了智能合同包装器,功能如下 当我试图访问我的合同功能时,如 它给了我一个例外 请帮忙。

  • 我想创建一个公共项目(使用spring cloud stream),根据消息内容动态地将消息路由到不同的(消费者)项目。(rabbitmq作为消息代理) spring cloud stream支持吗?如果没有,有什么建议的方法来实现这一点?thx公司