mirror of
https://github.com/scm-manager/scm-manager.git
synced 2025-11-13 08:55:44 +01:00
reset resteasy StatisticsController to avoid ClassLoader leaks
This commit is contained in:
@@ -7,6 +7,7 @@ import org.jboss.resteasy.plugins.server.servlet.ListenerBootstrap;
|
|||||||
import org.jboss.resteasy.spi.Registry;
|
import org.jboss.resteasy.spi.Registry;
|
||||||
import org.jboss.resteasy.spi.ResteasyDeployment;
|
import org.jboss.resteasy.spi.ResteasyDeployment;
|
||||||
import org.jboss.resteasy.spi.ResteasyProviderFactory;
|
import org.jboss.resteasy.spi.ResteasyProviderFactory;
|
||||||
|
import org.jboss.resteasy.spi.statistics.StatisticsController;
|
||||||
import org.slf4j.Logger;
|
import org.slf4j.Logger;
|
||||||
import org.slf4j.LoggerFactory;
|
import org.slf4j.LoggerFactory;
|
||||||
|
|
||||||
@@ -70,6 +71,12 @@ public class ResteasyAllInOneServletDispatcher extends HttpServletDispatcher {
|
|||||||
super.destroy();
|
super.destroy();
|
||||||
deployment.stop();
|
deployment.stop();
|
||||||
|
|
||||||
|
// clear ResourceLocatorInvoker leaks
|
||||||
|
StatisticsController statisticsController = ResteasyProviderFactory.getInstance().getStatisticsController();
|
||||||
|
if (statisticsController != null) {
|
||||||
|
statisticsController.reset();
|
||||||
|
}
|
||||||
|
|
||||||
// ensure everything gets cleared, to avoid classloader leaks
|
// ensure everything gets cleared, to avoid classloader leaks
|
||||||
ResteasyProviderFactory.clearInstanceIfEqual(ResteasyProviderFactory.getInstance());
|
ResteasyProviderFactory.clearInstanceIfEqual(ResteasyProviderFactory.getInstance());
|
||||||
RuntimeDelegate.setInstance(null);
|
RuntimeDelegate.setInstance(null);
|
||||||
|
|||||||
Reference in New Issue
Block a user