0

如何在嵌入 jetty 9 的情况下运行 togglz。我尝试了以下代码

        ServletHolder togglz = new ServletHolder(TogglzConsoleServlet.class);
        togglz.setInitParameter("org.togglz.core.manager.TogglzConfig", "com.citronium.togglz.config.PlansteryTogglzConfig");
        togglz.setInitParameter("org.togglz.FEATURE_MANAGER_PROVIDED", "true");
        context.addServlet(togglz, "/togglz/*");
        EnumSet<DispatcherType> all = EnumSet.of(DispatcherType.ASYNC, DispatcherType.ERROR, DispatcherType.FORWARD,
                DispatcherType.INCLUDE, DispatcherType.REQUEST);
        context.addFilter(new FilterHolder(new TogglzFilter()), "/togglz/*", all);

我有跟随错误

oejucomponent.AbstractLifeCycle - FAILED oejsServletContextHandler@6195bb34{/,null,STARTING}: java.lang.IllegalStateException: 找不到 TogglzConfig 或 TogglzBootstrap 的任何实现。请确保您已将所需的集成模块添加到您的项目或在您的 web.xml 中注册实现,如文档的“配置”一章中所述。java.lang.IllegalStateException:找不到 TogglzConfig 或 TogglzBootstrap 的任何实现。请确保您已将所需的集成模块添加到您的项目或在您的 web.xml 中注册实现,如文档的“配置”一章中所述。

4

2 回答 2

1

我认为你应该org.togglz.FEATURE_MANAGER_PROVIDED改为设置false。将其设置为 true告诉 Togglz 它不应使用您的TogglzConfig实现引导 FeatureManager,而是尝试使用由 IoC 容器(如 Spring 或 CDI)提供的 FeatureManager。

顺便说一句:您还应该更改 to 的映射,TogglzFilter以便/*Togglz 适用于所有请求,而不仅仅是对以 . 开头的 URL 的请求/togglz

于 2013-08-27T15:03:20.347 回答
0

我知道这个问题很旧,但由于我遇到了同样的问题,我想分享解决方案。

您需要在 ServletContextHandler 上而不是在 ServletHolder 上设置初始化参数。然后一切正常。

于 2016-10-27T09:15:02.310 回答