状态更改时Togglz获取功能名称(启用/禁用)

时间:2019-07-20 10:30:00

标签: java spring-boot togglz

我需要检索状态已更改的togglz功能名称。有什么办法吗?在过去的1天中,我一直坚持使用此方法。非常感谢您的帮助。请在下面找到我的示例代码

    public enum MyFeatures implements Feature {

        @EnabledByDefault
        @Label("First Feature")
        FEATURE_ONE,

        @Label("Second Feature")
        FEATURE_TWO;
    }

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

每当togglz-console的togglz状态发生变化时,我都需要一种方法来获取已更改功能的名称。

1 个答案:

答案 0 :(得分:0)

我认为tooglz没有像您想要的功能。但是可以使用CompositeStateRepository并实现一个新的StateRepository来监听更改来实现。 PS:您应该将CompositeStateRepository上的设置器选项设置为“ ALL”。 我要在这里留下一个虚拟侦听器实现:

public class ListenerStateRepository implements StateRepository {


    @Override
    public FeatureState getFeatureState(Feature feature) {
        return null;
    }

    @Override
    public void setFeatureState(FeatureState featureState) {
        log.info("{} was changed"); //you should handle the state change here
    }
}