【问题标题】:Togglz don't pick up Spring-Boot configuration from application.ymlTogglz 不从 application.yml 获取 Spring-Boot 配置
【发布时间】:2018-06-23 05:21:00
【问题描述】:

我尝试关注Togglz guide for Spring Boot,因此添加了所有必要的依赖项,创建了一个功能枚举:

public enum RetrospectiveBoardFeatures implements Feature {

    @Label("Name by cookie")
    NAME_BY_COOKIE,

    @Label("Name by login")
    NAME_BY_LOGIN;

    public boolean isActive() {
        return FeatureContext.getFeatureManager().isActive(this);
    }
}

,配置了一个 EnumBasedFeatureProvider 以使 Spring/Togglz 知道该枚举:

@SpringBootApplication
public class Application {

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

    @Bean
    public FeatureProvider featureProvider() {
        return new EnumBasedFeatureProvider(RetrospectiveBoardFeatures.class);
    }
}

这一切都很好,直到我编写了一个小单元测试来查看功能切换配置是否应用于我的枚举(来自 application.yml):

togglz:
  features:
    NAME_BY_COOKIE:
      enabled: true
    NAME_BY_LOGIN:
      enabled: false

测试:

@RunWith(SpringRunner.class)
@ContextConfiguration(classes = Application.class)
public class RetrospetiveBoardFeaturesTest {
    @Test
    public void testCookieFeature() {
        assertThat(RetrospetiveBoardFeatures.NAME_BY_COOKIE.isActive(), is(true));
    }
}

所以没有达到我的预期结果(功能有效)。然后我添加了默认启用的注释,我的功能被激活了。根据指南(我是如何理解的),我不需要添加任何从 Spring 读取我的配置并让 Togglz 知道它们的内容。 GitHub 上的 Togglz 示例在这方面也没有做任何事情(通过查看 Togglz 在 Spring-Boot 启动器中提供的内容,已经设置了特性属性提供程序)。也许我选择了一些错误的版本(Spring boot 2.0.1.RELEASE 和 Togglz 2.5.0.Final)?我做错了什么?

【问题讨论】:

标签: spring-boot yaml spring-boot-starter togglz


【解决方案1】:

Togglz 2.5.0.Final 还不支持 Spring Boot 2。我想这可能是你问题的根源。我们即将发布 2.6.0.Final 并在接下来的几天内全面支持 Spring Boot 2。

当然你可以试试最新的快照。在此处查看所有详细信息:

https://www.togglz.org/download.html

另外,请随时加入我们的 Gitter 聊天,我们目前讨论有关 Spring Boot 2 支持的所有问题:

https://gitter.im/togglz/togglz

【讨论】:

  • 非常感谢!我会继续关注的!
  • 稍后我会试用快照版本。
  • 2.6.0.Final 现已发布。
  • 另一条评论:也许这只是测试中的一个问题?如果你运行你的应用,它会起作用吗?
猜你喜欢
  • 2019-05-19
  • 2017-05-24
  • 2019-07-17
  • 2018-03-24
  • 2018-09-24
  • 2018-08-10
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多