Hello, I was struggling with my interceptors trying to figure out why all resources do not get freed up and then I realized that ContextInterceptor.removeContext() does not get consistently fired for every registered context. When I print list of all contexts from ContextManager in engineShutdown() it shows all contexts for which removeContext() was not fired. I suspect they do not get removed somehow. I also noticed that when tomcat shutdowns it prints "Removing context Ctx( /irg )" but not for ALL registered contexts (even without my interceptor) I also attaching my previous message about multiple invocation of a interceptor when the same class implements both RequestInterceptor and ContextInterceptor The ContextInterceptor.addContext() gets fired twice. <ContextInterceptor className="com.peacetech.webtools.tomcat.JndiContextInterceptor"/> <RequestInterceptor className="com.peacetech.webtools.tomcat.JndiContextInterceptor" debug="99"/>