@Test(expected = ServletException.class) public void testRuntimeExceptionsDuringTailServletInitializationAreConvertedToServletException() throws Exception { doThrow(new RuntimeException("THIS IS AN EXPECTED TEST EXCEPTION")).when(this.tailServlet).init(any()); init(); }
@Override public void init() throws ServletException { super.init(); final ClassLoader ccl = currentThread().getContextClassLoader(); try { injectDecoratorObjectFactoryIntoServletContext(); currentThread().setContextClassLoader(getClass().getClassLoader()); this.tailServlet.init(getServletConfig()); } catch (Throwable t) { this.logger.error("Unable to initialize the tail servlet - the log viewer will not be available", t); throw new ServletException("Unable to initialize the tail servlet - the log viewer will not be available", t); } finally { currentThread().setContextClassLoader(ccl); } }
LogfileViewerConsolePlugin extends AbstractWebConsolePlugin { @Override public void init() throws ServletException { super.init(); final ClassLoader ccl = currentThread().getContextClassLoader(); try { injectDecoratorObjectFactoryIntoServletContext(); currentThread().setContextClassLoader(getClass().getClassLoader()); this.tailServlet.init(getServletConfig()); } catch (Throwable t) { this.logger.error("Unable to initialize the tail servlet - the log viewer will not be available", t); throw new ServletException("Unable to initialize the tail servlet - the log viewer will not be available", t); } finally { currentThread().setContextClassLoader(ccl); } } }
LogfileViewerConsolePlugin extends AbstractWebConsolePlugin { @Override public void init() throws ServletException { super.init(); final ClassLoader ccl = currentThread().getContextClassLoader(); try { injectDecoratorObjectFactoryIntoServletContext(); currentThread().setContextClassLoader(getClass().getClassLoader()); this.tailServlet.init(getServletConfig()); } catch (Throwable t) { this.logger.error("Unable to initialize the tail servlet - the log viewer will not be available", t); throw new ServletException("Unable to initialize the tail servlet - the log viewer will not be available", t); } finally { currentThread().setContextClassLoader(ccl); } }  }
LogfileViewerConsolePlugin extends AbstractWebConsolePlugin { @Override public void init() throws ServletException { super.init(); final ClassLoader ccl = currentThread().getContextClassLoader(); try { injectDecoratorObjectFactoryIntoServletContext(); currentThread().setContextClassLoader(getClass().getClassLoader()); this.tailServlet.init(getServletConfig()); } catch (Throwable t) { this.logger.error("Unable to initialize the tail servlet - the log viewer will not be available", t); throw new ServletException("Unable to initialize the tail servlet - the log viewer will not be available", t); } finally { currentThread().setContextClassLoader(ccl); } }  @Override void init(); @Override void destroy(); @SuppressWarnings("unused") String getCategory(); URL getResource(String path); @Override String getTitle(); @Override String getLabel(); }
LogfileViewerConsolePlugin extends AbstractWebConsolePlugin { @Override public void init() throws ServletException { super.init(); final ClassLoader ccl = currentThread().getContextClassLoader(); try { injectDecoratorObjectFactoryIntoServletContext(); currentThread().setContextClassLoader(getClass().getClassLoader()); this.tailServlet.init(getServletConfig()); } catch (Throwable t) { this.logger.error("Unable to initialize the tail servlet - the log viewer will not be available", t); throw new ServletException("Unable to initialize the tail servlet - the log viewer will not be available", t); } finally { currentThread().setContextClassLoader(ccl); } }  @Override void init(); @Override void destroy(); @SuppressWarnings("unused") String getCategory(); URL getResource(String path); @Override String getTitle(); @Override String getLabel();  }