【发布时间】:2018-01-24 10:48:41
【问题描述】:
我需要禁用事件的发布和订阅以进行开发,但我找不到一些配置属性/其他解决方案。我该怎么做?
可能的解决方案:在某些属性集上使用@EnableBinding 创建自动配置,并在禁用的情况下将所有绑定接口替换为生成的无操作存根。但也许存在更简单的解决方案?
【问题讨论】:
标签: spring-boot spring-cloud-stream
我需要禁用事件的发布和订阅以进行开发,但我找不到一些配置属性/其他解决方案。我该怎么做?
可能的解决方案:在某些属性集上使用@EnableBinding 创建自动配置,并在禁用的情况下将所有绑定接口替换为生成的无操作存根。但也许存在更简单的解决方案?
【问题讨论】:
标签: spring-boot spring-cloud-stream
其中一个选项可能是在类路径中注入显式 No-Op Binder 并使其成为 default binder。
出于开发目的(尤其是您不想通过任何绑定器实现将事件发布到真实的消息传递系统),您可以使用spring-cloud-stream-test-support 中的TestSupportBinder,它可以让您测试整个应用程序。
你可以找到一些例子here
【讨论】:
目前不支持选择性地开始和停止绑定。我们正在跟踪这是一个 2.0 功能。你可以在这里跟踪它的进度:https://github.com/spring-cloud/spring-cloud-stream/issues/763
【讨论】:
我面临着类似的情况,我们的代码将部署到生产环境中。但是这些需要被禁用,直到我们有其他团队准备好在那里发布消息,所以我们想告诉 spring cloud stream 在我们指定特定配置之前不要初始化任何 bean。
我试图查看@Vinicius menthod .. 但看起来它只提供了一种在应用程序启动后停止、恢复频道的方法。
我们是否可以在启动应用程序时停止这些 bean。
【讨论】: