mirror of
https://github.com/scm-manager/scm-manager.git
synced 2025-11-13 17:05:43 +01:00
remove mutable field from servlet, use servletcontext attribute instead of field instance
This commit is contained in:
@@ -28,7 +28,6 @@ public class ResteasyAllInOneServletDispatcher extends HttpServletDispatcher {
|
|||||||
private static final Logger LOG = LoggerFactory.getLogger(ResteasyAllInOneServletDispatcher.class);
|
private static final Logger LOG = LoggerFactory.getLogger(ResteasyAllInOneServletDispatcher.class);
|
||||||
|
|
||||||
private final Injector injector;
|
private final Injector injector;
|
||||||
private ResteasyDeployment deployment;
|
|
||||||
|
|
||||||
@Inject
|
@Inject
|
||||||
public ResteasyAllInOneServletDispatcher(Injector injector) {
|
public ResteasyAllInOneServletDispatcher(Injector injector) {
|
||||||
@@ -40,23 +39,24 @@ public class ResteasyAllInOneServletDispatcher extends HttpServletDispatcher {
|
|||||||
LOG.info("init resteasy");
|
LOG.info("init resteasy");
|
||||||
|
|
||||||
ServletContext servletContext = servletConfig.getServletContext();
|
ServletContext servletContext = servletConfig.getServletContext();
|
||||||
createDeployment(servletContext);
|
ResteasyDeployment deployment = createDeployment(servletContext);
|
||||||
|
|
||||||
ModuleProcessor processor = createModuleProcessor();
|
ModuleProcessor processor = createModuleProcessor(deployment);
|
||||||
processor.processInjector(injector);
|
processor.processInjector(injector);
|
||||||
|
|
||||||
super.init(servletConfig);
|
super.init(servletConfig);
|
||||||
}
|
}
|
||||||
|
|
||||||
private void createDeployment(ServletContext servletContext) {
|
private ResteasyDeployment createDeployment(ServletContext servletContext) {
|
||||||
ListenerBootstrap config = new ListenerBootstrap(servletContext);
|
ListenerBootstrap config = new ListenerBootstrap(servletContext);
|
||||||
deployment = config.createDeployment();
|
ResteasyDeployment deployment = config.createDeployment();
|
||||||
deployment.start();
|
deployment.start();
|
||||||
|
|
||||||
servletContext.setAttribute(ResteasyDeployment.class.getName(), deployment);
|
servletContext.setAttribute(ResteasyDeployment.class.getName(), deployment);
|
||||||
|
return deployment;
|
||||||
}
|
}
|
||||||
|
|
||||||
private ModuleProcessor createModuleProcessor() {
|
private ModuleProcessor createModuleProcessor(ResteasyDeployment deployment) {
|
||||||
Registry registry = deployment.getRegistry();
|
Registry registry = deployment.getRegistry();
|
||||||
ResteasyProviderFactory providerFactory = deployment.getProviderFactory();
|
ResteasyProviderFactory providerFactory = deployment.getProviderFactory();
|
||||||
return new ModuleProcessor(registry, providerFactory);
|
return new ModuleProcessor(registry, providerFactory);
|
||||||
@@ -65,6 +65,8 @@ public class ResteasyAllInOneServletDispatcher extends HttpServletDispatcher {
|
|||||||
@Override
|
@Override
|
||||||
public void destroy() {
|
public void destroy() {
|
||||||
LOG.info("destroy resteasy");
|
LOG.info("destroy resteasy");
|
||||||
|
ResteasyDeployment deployment = getDeploymentFromServletContext();
|
||||||
|
|
||||||
super.destroy();
|
super.destroy();
|
||||||
deployment.stop();
|
deployment.stop();
|
||||||
|
|
||||||
@@ -73,4 +75,8 @@ public class ResteasyAllInOneServletDispatcher extends HttpServletDispatcher {
|
|||||||
ResteasyProviderFactory.clearContextData();
|
ResteasyProviderFactory.clearContextData();
|
||||||
RuntimeDelegate.setInstance(null);
|
RuntimeDelegate.setInstance(null);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private ResteasyDeployment getDeploymentFromServletContext() {
|
||||||
|
return (ResteasyDeployment) getServletContext().getAttribute(ResteasyDeployment.class.getName());
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user