diff --git a/exo.kernel.container/src/main/java/org/exoplatform/container/PortalContainer.java b/exo.kernel.container/src/main/java/org/exoplatform/container/PortalContainer.java index e743a036d..5a990edf1 100644 --- a/exo.kernel.container/src/main/java/org/exoplatform/container/PortalContainer.java +++ b/exo.kernel.container/src/main/java/org/exoplatform/container/PortalContainer.java @@ -166,6 +166,10 @@ Set getWebAppInitContexts() return webAppContexts; } + public Set getServletContexts() { + return Collections.unmodifiableSet(webAppContexts); + } + /** * This gives the merged {@link ClassLoader} between the {@link PortalContainerClassLoader} and the * {@link ClassLoader} of the web application. diff --git a/exo.kernel.container/src/main/java/org/exoplatform/container/PortalContainerContext.java b/exo.kernel.container/src/main/java/org/exoplatform/container/PortalContainerContext.java index 5e498b955..33dbb8789 100644 --- a/exo.kernel.container/src/main/java/org/exoplatform/container/PortalContainerContext.java +++ b/exo.kernel.container/src/main/java/org/exoplatform/container/PortalContainerContext.java @@ -20,6 +20,7 @@ import org.exoplatform.container.util.Utils; +import java.io.IOException; import java.io.InputStream; import java.net.MalformedURLException; import java.net.URL; @@ -245,6 +246,11 @@ public RequestDispatcher getRequestDispatcher(String path) final InputStream is = context.getResourceAsStream(Utils.getPathOnly(path)); if (is != null) { + try { + is.close(); + } catch (IOException e) { + log("Error closing Input String of file '%s'".formatted(path)); + } // The resource exists within this servlet context return context.getRequestDispatcher(path); }