如何使用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);
我有关注错误
o.e.j.u.component.AbstractLifeCycle - FAILED o.e.j.s.ServletContextHandler@6195bb34 {/,null,STARTING}:java.lang.IllegalStateException:找不到TogglzConfig或TogglzBootstrap的任何实现。请确保已将所需的集成模块添加到项目中,或者按照文档“配置”一章中的说明在web.xml中注册实现。 java.lang.IllegalStateException:找不到TogglzConfig或TogglzBootstrap的任何实现。请确保已将所需的集成模块添加到项目中,或者按照文档“配置”一章中的说明在web.xml中注册实现。
答案 0 :(得分:1)
我认为您应该将org.togglz.FEATURE_MANAGER_PROVIDED
设置为false
。将其设置为true
告诉Togglz它不应该使用TogglzConfig
实现来引导FeatureManager,而是尝试使用由Spring或CDI等IoC容器提供的FeatureManager。
BTW:您还应该将TogglzFilter
的映射更改为/*
,以便Togglz适用于所有请求,而不仅仅是针对以/togglz
开头的网址请求。
答案 1 :(得分:0)
我知道这个问题已经过时了,但是由于我遇到了同样的问题,我想分享解决方案。
您需要在ServletContextHandler上设置init参数,而不是ServletHolder。一切都运转正常。