将ServletContextListener与Jetty一起使用

Sta*_*lin 9 java jetty servlet-3.0

我想用embeded jetty测试我的ServletContextListener.它调用contextDestroyed服务器停止但contextInitialized在服务器启动时没有调用.我该如何解决?

Server server = new Server(PORT);
ServletContextListener myListener = ...;
WebAppContext webapp = new WebAppContext();
webapp.addEventListener(myListener);
webapp.setServer(server);
server.setHandler(webapp);
server.start(); -> doesnt call myListener.contextInitialized()

server.stop();  -> call myListener.contextDestroyed()
Run Code Online (Sandbox Code Playgroud)

Rob*_*rtG 2

我在 Jetty 9.3.10 上遇到了类似的问题

您是否尝试过将扩展侦听器类型设置为 true?如果设置为 false(默认),则不会考虑 ServletContextListener 实现org.eclipse.jetty.server.handler.ContextHandler.Context#checkListener

    webapp.getServletContext().setExtendedListenerTypes(true);
Run Code Online (Sandbox Code Playgroud)