9

我想用嵌入式码头测试我的 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()
4

1 回答 1

2

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

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

    webapp.getServletContext().setExtendedListenerTypes(true);
于 2017-01-23T08:38:15.437 回答