Make logging less verbose and better check disposed status of widgets
[lgpl/argeo-commons.git] / osgi / equinox / org.argeo.cms.lib.equinox / src / org / argeo / cms / equinox / http / jetty / EquinoxJettyServer.java
index e6595a05e9d8379f9f2a25d46a85fd83dbcb3272..935be167a8577af83c721d0fadeb392ac3c37444 100644 (file)
@@ -14,15 +14,17 @@ import javax.servlet.http.HttpSessionEvent;
 import javax.servlet.http.HttpSessionIdListener;
 import javax.servlet.http.HttpSessionListener;
 
+import org.argeo.api.cms.CmsLog;
 import org.argeo.cms.jetty.CmsJettyServer;
 import org.eclipse.equinox.http.servlet.HttpServiceServlet;
-import org.eclipse.jetty.server.session.SessionHandler;
-import org.eclipse.jetty.servlet.ServletContextHandler;
-import org.eclipse.jetty.servlet.ServletHolder;
+import org.eclipse.jetty.ee8.nested.SessionHandler;
+import org.eclipse.jetty.ee8.servlet.ServletContextHandler;
+import org.eclipse.jetty.ee8.servlet.ServletHolder;
 import org.osgi.framework.Constants;
 
 /** A {@link CmsJettyServer} integrating with Equinox HTTP framework. */
 public class EquinoxJettyServer extends CmsJettyServer {
+       private final static CmsLog log = CmsLog.getLog(EquinoxJettyServer.class);
        private static final String INTERNAL_CONTEXT_CLASSLOADER = "org.eclipse.equinox.http.jetty.internal.ContextClassLoader";
 
        @Override
@@ -95,6 +97,10 @@ public class EquinoxJettyServer extends CmsJettyServer {
                        thread.setContextClassLoader(contextLoader);
                        try {
                                httpServiceServlet.service(req, res);
+                       } catch (IllegalStateException e) {
+                               // context is probably in shutdown
+                               if (log.isTraceEnabled())
+                                       log.error("Cannot process request", e);
                        } finally {
                                thread.setContextClassLoader(current);
                        }