gpt4 book ai didi

java - 是否可以在非 Web 应用程序中使用 togglz

转载 作者:行者123 更新时间:2023-11-30 07:56:23 32 4
gpt4 key购买 nike

我正在尝试寻找是否可以在非 Web 应用程序中使用 togglz - 就像我们有纯 Java 项目或 Java 批处理程序一样。

我尝试在独立应用程序中添加 togglz 库并尝试运行它。

这是我的代码片段 -

import com.feature.MyFeature;

public class Test {

public static void main(String[] args) {

Test t = new Test();
boolean valid=t.validate("CREATE_TEAM");
System.out.println(valid);

}

public boolean validate(String feature){

if (MyFeature.valueOf(feature).isActive()) {
return true;
}

return false;
}

}

它说 -

Exception in thread "main" java.lang.IllegalStateException: Could not find the FeatureManager. For web applications please verify that the TogglzFilter starts up correctly. In other deployment scenarios you will typically have to implement a FeatureManagerProvider as described in the 'Advanced Configuration' chapter of the documentation.
at com.amdocs.switchlite.core.context.FeatureContext.getFeatureManager(FeatureContext.java:53)
at com.feature.MyFeature.isActive(MyFeature.java:20)
at Test.validate(Test.java:22)
at Test.main(Test.java:12)

最佳答案

您必须正确配置 Togglz 才能使其正常工作。在独立应用程序中,我推荐以下设置。

首先使用 FeatureManagerBuilder 创建一个 FeatureManager。像这样:

FeatureManager featureManager = FeatureManagerBuilder.begin()
.featureEnum(Features.class)
.stateRepository(new InMemoryStateRepository())
.userProvider(new NoOpUserProvider())
.build();

告诉 StaticFeatureManagerProvider 关于你的经理:

StaticFeatureManagerProvider.setFeatureManager(featureManager);

现在 StaticFeatureManagerProvider 可以将您的 FeatureManager 告诉 Togglz 并且一切正常!

Features.FOOBAR.isActive();
// > false

关于java - 是否可以在非 Web 应用程序中使用 togglz,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42296751/

32 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com