首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Togglz不要从application.yml获取Spring配置

Togglz不要从application.yml获取Spring配置
EN

Stack Overflow用户
提问于 2018-06-23 05:21:00
回答 1查看 776关注 0票数 0

我试图遵循Togglz春季启动指南,因此添加了所有必要的依赖项,创建了一个特性枚举:

代码语言:javascript
复制
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知道这个枚举:

代码语言:javascript
复制
@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);
    }
}

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

代码语言:javascript
复制
togglz:
  features:
    NAME_BY_COOKIE:
      enabled: true
    NAME_BY_LOGIN:
      enabled: false

测试:

代码语言:javascript
复制
@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 2.0.1.RELEASE和Togglz2.5.0.Final)?我做错什么了?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-06-23 05:53:52

Togglz 2.5.0. Spring还不支持Spring 2。我想这可能是你问题的根源。在接下来的几天里,我们将发布2.6.0,最后提供完整的Spring 2支持。

当然,您可以尝试一下最新的快照。请参阅这里的所有细节:

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

此外,欢迎加入我们的Gitter聊天,我们目前正在讨论与Spring 2支持有关的所有问题:

https://gitter.im/togglz/togglz

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/50998194

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档