diff options
author | Raymond Auge | 2019-02-28 14:07:49 +0000 |
---|---|---|
committer | Raymond Auge | 2019-03-23 16:16:44 +0000 |
commit | 3a9adc44c41e1bdea79c4bd99e4002776e1f254d (patch) | |
tree | 915404e176ef639ed4e73b8d195ae3a6b8c46c10 | |
parent | b0cb83df0ddb7b055f01117c365f8f537743193d (diff) | |
download | rt.equinox.bundles-3a9adc44c41e1bdea79c4bd99e4002776e1f254d.tar.gz rt.equinox.bundles-3a9adc44c41e1bdea79c4bd99e4002776e1f254d.tar.xz rt.equinox.bundles-3a9adc44c41e1bdea79c4bd99e4002776e1f254d.zip |
Bug 545134 - [http whiteboard] equinox.http.servlet throws superfluous exceptions during cleanup
Signed-off-by: Raymond Auge <raymond.auge@liferay.com>
Change-Id: Ib5ec566ba46ba178ddd25d25578659f0be984447
6 files changed, 25 insertions, 37 deletions
diff --git a/bundles/org.eclipse.equinox.http.servlet/META-INF/MANIFEST.MF b/bundles/org.eclipse.equinox.http.servlet/META-INF/MANIFEST.MF index 1c894a968..de34d92b8 100644 --- a/bundles/org.eclipse.equinox.http.servlet/META-INF/MANIFEST.MF +++ b/bundles/org.eclipse.equinox.http.servlet/META-INF/MANIFEST.MF @@ -3,7 +3,7 @@ Bundle-ManifestVersion: 2 Bundle-Name: %bundleName Bundle-Vendor: %providerName Bundle-SymbolicName: org.eclipse.equinox.http.servlet -Bundle-Version: 1.6.0.qualifier +Bundle-Version: 1.6.100.qualifier Bundle-Activator: org.eclipse.equinox.http.servlet.internal.Activator Bundle-Localization: plugin Bundle-RequiredExecutionEnvironment: JavaSE-1.7 diff --git a/bundles/org.eclipse.equinox.http.servlet/pom.xml b/bundles/org.eclipse.equinox.http.servlet/pom.xml index 48ec1db96..5fb58b8de 100644 --- a/bundles/org.eclipse.equinox.http.servlet/pom.xml +++ b/bundles/org.eclipse.equinox.http.servlet/pom.xml @@ -20,6 +20,6 @@ </parent> <groupId>org.eclipse.equinox</groupId> <artifactId>org.eclipse.equinox.http.servlet</artifactId> - <version>1.6.0-SNAPSHOT</version> + <version>1.6.100-SNAPSHOT</version> <packaging>eclipse-plugin</packaging> </project> diff --git a/bundles/org.eclipse.equinox.http.servlet/src/org/eclipse/equinox/http/servlet/internal/context/ContextController.java b/bundles/org.eclipse.equinox.http.servlet/src/org/eclipse/equinox/http/servlet/internal/context/ContextController.java index 2a2f40463..5620a6a13 100644 --- a/bundles/org.eclipse.equinox.http.servlet/src/org/eclipse/equinox/http/servlet/internal/context/ContextController.java +++ b/bundles/org.eclipse.equinox.http.servlet/src/org/eclipse/equinox/http/servlet/internal/context/ContextController.java @@ -602,19 +602,27 @@ public class ContextController { shutdown = true; } + public void createContextAttributes() { + getProxyContext().createContextAttributes(this); + } + + public void destroyContextAttributes() { + if (shutdown) { + return; + } + + proxyContext.destroyContextAttributes(this); + } + public boolean isLegacyContext() { return serviceReference.getProperty(HTTP_SERVICE_CONTEXT_PROPERTY) != null; } public String getContextName() { - checkShutdown(); - return contextName; } public String getContextPath() { - checkShutdown(); - return contextPath; } @@ -769,26 +777,18 @@ public class ContextController { } public Map<String, HttpSessionAdaptor> getActiveSessions() { - checkShutdown(); - return activeSessions; } public Set<EndpointRegistration<?>> getEndpointRegistrations() { - checkShutdown(); - return endpointRegistrations; } public EventListeners getEventListeners() { - checkShutdown(); - return eventListeners; } public Set<FilterRegistration> getFilterRegistrations() { - checkShutdown(); - return filterRegistrations; } @@ -824,8 +824,6 @@ public class ContextController { } public HttpServiceRuntimeImpl getHttpServiceRuntime() { - checkShutdown(); - return httpServiceRuntime; } @@ -834,29 +832,21 @@ public class ContextController { } public Set<ListenerRegistration> getListenerRegistrations() { - checkShutdown(); - return listenerRegistrations; } public ProxyContext getProxyContext() { - checkShutdown(); - return proxyContext; } public long getServiceId() { - checkShutdown(); - return contextServiceId; } public synchronized ServletContextDTO getServletContextDTO(){ - checkShutdown(); - ServletContextDTO servletContextDTO = new ServletContextDTO(); - ServletContext servletContext = getProxyContext().getServletContext(); + ServletContext servletContext = proxyContext.getServletContext(); servletContextDTO.attributes = getDTOAttributes(servletContext); servletContextDTO.contextPath = getContextPath(); @@ -1253,6 +1243,10 @@ public class ContextController { } public void fireSessionIdChanged(String oldSessionId) { + if (shutdown) { + return; + } + ServletContext servletContext = proxyContext.getServletContext(); if ((servletContext.getMajorVersion() <= 3) && (servletContext.getMinorVersion() < 1)) { return; diff --git a/bundles/org.eclipse.equinox.http.servlet/src/org/eclipse/equinox/http/servlet/internal/registration/EndpointRegistration.java b/bundles/org.eclipse.equinox.http.servlet/src/org/eclipse/equinox/http/servlet/internal/registration/EndpointRegistration.java index 52044f977..6393e50e0 100644 --- a/bundles/org.eclipse.equinox.http.servlet/src/org/eclipse/equinox/http/servlet/internal/registration/EndpointRegistration.java +++ b/bundles/org.eclipse.equinox.http.servlet/src/org/eclipse/equinox/http/servlet/internal/registration/EndpointRegistration.java @@ -162,13 +162,11 @@ public abstract class EndpointRegistration<D extends DTO> } private void createContextAttributes() { - contextController.getProxyContext().createContextAttributes( - contextController); + contextController.createContextAttributes(); } private void destroyContextAttributes() { - contextController.getProxyContext().destroyContextAttributes( - contextController); + contextController.destroyContextAttributes(); } @Override diff --git a/bundles/org.eclipse.equinox.http.servlet/src/org/eclipse/equinox/http/servlet/internal/registration/FilterRegistration.java b/bundles/org.eclipse.equinox.http.servlet/src/org/eclipse/equinox/http/servlet/internal/registration/FilterRegistration.java index 6c84a4590..434ba4522 100644 --- a/bundles/org.eclipse.equinox.http.servlet/src/org/eclipse/equinox/http/servlet/internal/registration/FilterRegistration.java +++ b/bundles/org.eclipse.equinox.http.servlet/src/org/eclipse/equinox/http/servlet/internal/registration/FilterRegistration.java @@ -188,13 +188,11 @@ public class FilterRegistration } private void createContextAttributes() { - contextController.getProxyContext().createContextAttributes( - contextController); + contextController.createContextAttributes(); } private void destroyContextAttributes() { - contextController.getProxyContext().destroyContextAttributes( - contextController); + contextController.destroyContextAttributes(); } protected boolean isPathWildcardMatch(String pattern, String path) { diff --git a/bundles/org.eclipse.equinox.http.servlet/src/org/eclipse/equinox/http/servlet/internal/registration/ListenerRegistration.java b/bundles/org.eclipse.equinox.http.servlet/src/org/eclipse/equinox/http/servlet/internal/registration/ListenerRegistration.java index 5e4321e67..a8da0978e 100644 --- a/bundles/org.eclipse.equinox.http.servlet/src/org/eclipse/equinox/http/servlet/internal/registration/ListenerRegistration.java +++ b/bundles/org.eclipse.equinox.http.servlet/src/org/eclipse/equinox/http/servlet/internal/registration/ListenerRegistration.java @@ -122,13 +122,11 @@ public class ListenerRegistration extends Registration<EventListener, ListenerDT } private void createContextAttributes() { - contextController.getProxyContext().createContextAttributes( - contextController); + contextController.createContextAttributes(); } private void destroyContextAttributes() { - contextController.getProxyContext().destroyContextAttributes( - contextController); + contextController.destroyContextAttributes(); } ClassLoader getClassLoader() { |