public EventListener instance() { if (!started) { throw UndertowServletMessages.MESSAGES.listenerIsNotStarted(); } return handle.getInstance(); }
@Override public void deallocate(Servlet servlet) throws ServletException { if (getServlet().getInstance() == servlet) { getServlet().release(); } }
public synchronized void stop() { started = false; if (handle != null) { handle.release(); } }
@Override public void contextDestroyed(ServletContextEvent sce) { for(InstanceHandle<?> h: handles) { h.release(); } } });
@Override public Servlet allocate() throws ServletException { return getServlet().getInstance(); }
@Override public void deallocate(Servlet servlet) throws ServletException { if (getServlet().getInstance() == servlet) { getServlet().release(); } }
@Override public void exchangeEvent(HttpServerExchange exchange, NextListener nextListener) { try { instance.release(); } finally { nextListener.proceed(); } } });
@Override public Servlet allocate() throws ServletException { return getServlet().getInstance(); }
try { servlet = managedServlet.getServlet(); servlet.getInstance().service(request, response); servlet.release();
@Override public void release() { instance.destroy(); instanceHandle.release(); } };
@Override public <T extends Filter> T createFilter(final Class<T> clazz) throws ServletException { ensureNotProgramaticListener(); try { return deploymentInfo.getClassIntrospecter().createInstanceFactory(clazz).createInstance().getInstance(); } catch (Exception e) { throw UndertowServletMessages.MESSAGES.couldNotInstantiateComponent(clazz.getName(), e); } }
final InstanceHandle<? extends ServletContainerInitializer> instance = sci.getInstanceFactory().createInstance(); try { instance.getInstance().onStartup(sci.getHandlesTypes(), servletContext); } finally { instance.release();
@Override public void release() { instance.destroy(); instanceHandle.release(); } };
@Override public <T extends Servlet> T createServlet(final Class<T> clazz) throws ServletException { ensureNotProgramaticListener(); try { return deploymentInfo.getClassIntrospecter().createInstanceFactory(clazz).createInstance().getInstance(); } catch (Exception e) { throw UndertowServletMessages.MESSAGES.couldNotInstantiateComponent(clazz.getName(), e); } }
final InstanceHandle<? extends ServletContainerInitializer> instance = sci.getInstanceFactory().createInstance(); try { instance.getInstance().onStartup(sci.getHandlesTypes(), servletContext); } finally { instance.release();
@Override public void start() throws ServletException { if(servletInfo.getLoadOnStartup() != null) { //see UNDERTOW-734, make sure init method is called for load on startup getServlet().release(); } }
@Override public Servlet getServlet(final String name) throws ServletException { return deployment.getServletPaths().getServletHandlerByName(name).getManagedServlet().getServlet().getInstance(); }
@Override public void release() { try { instance.destroy(); } catch (Throwable t) { UndertowServletLogger.REQUEST_LOGGER.failedToDestroy(instance, t); } instanceHandle.release(); } };
@Override public <T extends HttpUpgradeHandler> T upgrade(final Class<T> handlerClass) throws IOException { try { InstanceFactory<T> factory = servletContext.getDeployment().getDeploymentInfo().getClassIntrospecter().createInstanceFactory(handlerClass); final InstanceHandle<T> instance = factory.createInstance(); exchange.upgradeChannel(new ServletUpgradeListener<>(instance, servletContext.getDeployment(), exchange)); return instance.getInstance(); } catch (InstantiationException e) { throw new RuntimeException(e); } catch (NoSuchMethodException e) { throw new RuntimeException(e); } }
public synchronized void stop() { if (handle != null) { final ResourceManager resourceManager = servletContext.getDeployment().getDeploymentInfo().getResourceManager(); if (changeListener != null) { resourceManager.removeResourceChangeListener(changeListener); } invokeDestroy(); handle.release(); } }