首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Togglz Spring Boot -没有提供功能管理器

Togglz Spring Boot -没有提供功能管理器
EN

Stack Overflow用户
提问于 2017-02-23 16:31:42
回答 1查看 2.3K关注 0票数 1

我尝试将togglz集成到我的Spring应用程序中,但是看起来自动配置很难提供一个FeatureManager。下面是我的堆栈跟踪:

代码语言:javascript
复制
2017-02-23 16:04:30.033 DEBUG [myService,,,] 23359 --- [  restartedMain] org.togglz.core.context.FeatureContext   : No cached FeatureManager for class loader: org.springframework.boot.devtools.restart.classloader.RestartClassLoader@6b8005f1
2017-02-23 16:05:57.403 DEBUG [myService,,,] 23359 --- [  restartedMain] org.togglz.core.context.FeatureContext   : Found 5 FeatureManagerProvider implementations...
2017-02-23 16:06:27.652 DEBUG [myService,,,] 23359 --- [  restartedMain] org.togglz.core.context.FeatureContext   : No FeatureManager provided by org.togglz.core.context.ThreadLocalFeatureManagerProvider
2017-02-23 16:06:36.436 DEBUG [myService,,,] 23359 --- [  restartedMain] org.togglz.core.context.FeatureContext   : No FeatureManager provided by org.togglz.core.context.BeanFinderFeatureManagerProvider
2017-02-23 16:06:45.980 DEBUG [myService,,,] 23359 --- [  restartedMain] org.togglz.core.context.FeatureContext   : No FeatureManager provided by org.togglz.core.context.StaticFeatureManagerProvider
2017-02-23 16:06:51.164 DEBUG [myService,,,] 23359 --- [  restartedMain] org.togglz.core.context.FeatureContext   : No FeatureManager provided by org.togglz.core.context.ContextClassLoaderFeatureManagerProvider
2017-02-23 16:06:55.980 DEBUG [myService,,,] 23359 --- [  restartedMain] o.t.c.c.JNDIFeatureManagerProvider       : FeatureMananger not found: Need to specify class name in environment or system property, or as an applet parameter, or in an application resource file:  java.naming.factory.initial
2017-02-23 16:06:57.990 DEBUG [myService,,,] 23359 --- [  restartedMain] org.togglz.core.context.FeatureContext   : No FeatureManager provided by org.togglz.core.context.JNDIFeatureManagerProvider

随着应用程序最终与IllegalStateException一起消亡:

代码语言:javascript
复制
Caused by: 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 org.togglz.core.context.FeatureContext.getFeatureManager(FeatureContext.java:53) ~[togglz-core-2.3.0.Final.jar:na]

我在我的应用程序属性中定义了togglz.enabledtogglz.feature-enums属性,以及创建了实现TogglzConfig的配置类,这似乎只是Spring在后台使用togglz所做的工作不太有效。有没有其他人遇到过这个问题,或者知道怎么解决?

EN

回答 1

Stack Overflow用户

发布于 2017-06-09 15:15:29

首先,我建议您更新您的帖子,包括:

  • 弹簧引导配置
  • 最小特征枚举
  • pom.xml

注意,如果使用spring引导,则应该使用以下GAV:

代码语言:javascript
复制
<dependency>
    <groupId>org.togglz</groupId>
    <artifactId>togglz-spring-boot-starter</artifactId>
    <version>2.4.1.Final</version>
</dependency>
<dependency>
    <groupId>org.togglz</groupId>
    <artifactId>togglz-console</artifactId>
    <version>2.4.1.Final</version>
</dependency>

然后,它应该像定义返回的bean一样简单:

  • StateRepository
  • FeatureProvider
  • UserProvider

这方面的一个简单实现是:

代码语言:javascript
复制
@Bean
public StateRepository getStateRepository() {
    return new InMemoryStateRepository()
}

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

@Bean
public UserProvider getUserProvider() {
    return new NoOpUserProvider();
}

其中MyFeatures.class是实现特性的枚举。

其他可能有益于为spring启动设置的属性包括:

代码语言:javascript
复制
togglz.console.enabled=true
togglz.console.secured=false
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/42421315

复制
相关文章

相似问题

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