如何禁用Spring云流绑定以进行开发?

时间:2017-08-16 10:26:56

标签: spring-boot spring-cloud-stream

我需要禁用发布事件的发布和订阅,但我找不到一些配置属性/其他解决方案。我怎么能这样做?

可能的解决方案:在某些属性集上使用@EnableBinding创建自动配置,在禁用的情况下,使用生成的无操作存根替换所有绑定接口。但也许存在更简单的解决方案?

3 个答案:

答案 0 :(得分:2)

其中一个选项可能是在类路径中注入一个显式的No-Op Binder并使其成为default活页夹。

出于开发目的(特别是您不想通过任何绑定器实现将事件发布到真实的消息传递系统),您可以使用TestSupportBinder中的spring-cloud-stream-test-support来测试整个应用程序

您可以找到一些示例here

答案 1 :(得分:2)

目前不支持选择性启动和停止绑定。我们正在跟踪这是一个2.0功能。您可以在此处跟踪其进度:https://github.com/spring-cloud/spring-cloud-stream/issues/763

答案 2 :(得分:2)

我正面临类似的情况,我们的代码将被部署到生产环境中。但是需要禁用这些功能,直到我们有其他团队准备在此处发布消息为止,因此我们要告诉Spring Cloud Stream在指定特定配置之前不要初始化任何bean。

我试图查看@Vinicius的想法..但是,这似乎仅提供一种停止方法,一旦启动应用程序,便会恢复通道。

在启动应用程序时,我们是否可以特定地停止这些bean。