如何将@RefreshScope与@ EnableBinding-annotated类一起使用?

时间:2016-03-18 20:10:40

标签: spring spring-cloud spring-cloud-stream

@EnableBinding将课程变为@Configuration,并将documented变为https://groups.google.com/forum/?fromgroups#!topic/google-chrome-developer-tools/fbueXIfX09k

  

@RefreshScope(在技术上)在@Configuration类上工作,但它可能会导致令人惊讶的行为:例如这并不意味着该类中定义的所有@Beans本身都是@RefreshScope。具体来说,依赖于那些bean的任何东西都不能依赖于它们在启动刷新时被更新,除非它本身位于@RefreshScope中(在刷新时会重建它并重新注入其依赖项,此时它们将被重新注入)从刷新的@Configuration重新初始化。

所以只是一个实际的问题:还有一种方法可以更新一些用@EnableBinding注释的Receiver类吗?我想它不会被框架处理,应该使用自定义@EventListener

来实现

1 个答案:

答案 0 :(得分:0)

对于我们最简单的示例,我们使用@Configuration类,其中@EnableBinding被声明为业务逻辑bean本身,这可以通过@EnableBinding是{{1因此@Configuration。例如,由于您在Receiver bean本身上不需要@Component,因此我将逻辑分离为使用@EnableBinding注释的bean。 @RefreshScope本身不会刷新,虽然在开始/停止时频道会被解除绑定/反弹。