Hi,
I was trying to set up an embedded Jetty 9.1, Jersey 2.5, Spring 4 application and tried to register Spring’s ContextLoaderListener
with the servlet context that I get from Jetty using servletContext.addListener(new ContextLoaderListener(springAppContext))
How ever, by default, I get an exception as:
Caused by: java.lang.IllegalArgumentException: Inappropriate listener class org.springframework.web.context.ContextLoaderListener
at org.eclipse.jetty.server.handler.ContextHandler$Context.checkListener(ContextHandler.java:2247)
at org.eclipse.jetty.server.handler.ContextHandler$Context.addListener(ContextHandler.java:2197)
at org.eclipse.jetty.servlet.ServletContextHandler$Context.addListener(ServletContextHandler.java:1294)
at com.narmnevis.papyrus.SpringContainerLifeCycleListener.onStartup(SpringContainerLifeCycleListener.java:54)
at org.glassfish.jersey.server.internal.ConfigHelper$3.onStartup(ConfigHelper.java:95)
at org.glassfish.jersey.servlet.ServletContainer.init(ServletContainer.java:171)
at org.glassfish.jersey.servlet.ServletContainer.init(ServletContainer.java:359)
at javax.servlet.GenericServlet.init(GenericServlet.java:244)
at org.eclipse.jetty.servlet.ServletHolder.initServlet(ServletHolder.java:561)
... 23 more
When I looked into ContextHandler$Context
, it seems there is a method:
org.eclipse.jetty.server.handler.ContextHandler.Context.setExtendedListenerTypes(boolean)
But the question is how I can use this method because it’s basically very down the implementation? Is there a standard way to enable this feature?
Thanks,
Behrooz