use of org.apache.jasper.servlet.JasperInitializer in project Openfire by igniterealtime.
the class JmxWebPlugin method initializePlugin.
public void initializePlugin(PluginManager manager, File pluginDirectory) {
Log.info("[" + NAME + "] initialize " + NAME + " plugin resources");
try {
openfire = new Openfire();
openfire.start();
JmxHelper.register(openfire, OBJECTNAME_OPENFIRE);
Log.info("[" + NAME + "] .. started openfire server detector.");
} catch (Exception e) {
Log.debug("cannot start openfire server detector: " + e.getMessage(), e);
}
try {
packetCounter = new PacketCounter();
packetCounter.start();
JmxHelper.register(packetCounter, OBJECTNAME_PACKET_COUNTER);
Log.info("[" + NAME + "] .. started stanza counter.");
} catch (Exception e) {
Log.debug("cannot start stanza counter: " + e.getMessage(), e);
}
try {
client = new CoreThreadPool(((ConnectionManagerImpl) XMPPServer.getInstance().getConnectionManager()).getSocketAcceptor());
client.start();
JmxHelper.register(client, OBJECTNAME_CORE_CLIENT_THREADPOOL);
Log.info("[" + NAME + "] .. started client thread pool monitor.");
} catch (Exception e) {
Log.debug("cannot start client thread pool monitor: " + e.getMessage(), e);
}
try {
database = new DatabasePool();
database.start();
JmxHelper.register(database, OBJECTNAME_DATABASEPOOL);
Log.info("[" + NAME + "] .. started database pool monitor.");
} catch (Exception e) {
Log.debug("cannot start database pool monitor: " + e.getMessage(), e);
}
try {
ContextHandlerCollection contexts = HttpBindManager.getInstance().getContexts();
try {
Log.info("[" + NAME + "] starting jolokia");
WebAppContext context = new WebAppContext(contexts, pluginDirectory.getPath(), "/jolokia");
final List<ContainerInitializer> initializers = new ArrayList<>();
initializers.add(new ContainerInitializer(new JasperInitializer(), null));
context.setAttribute("org.eclipse.jetty.containerInitializers", initializers);
context.setAttribute(InstanceManager.class.getName(), new SimpleInstanceManager());
context.setWelcomeFiles(new String[] { "index.html" });
Log.info("[" + NAME + "] starting hawtio");
WebAppContext context2 = new WebAppContext(contexts, pluginDirectory.getPath() + "/hawtio", "/hawtio");
final List<ContainerInitializer> initializers2 = new ArrayList<>();
initializers2.add(new ContainerInitializer(new JasperInitializer(), null));
context2.setAttribute("org.eclipse.jetty.containerInitializers", initializers2);
context2.setAttribute(InstanceManager.class.getName(), new SimpleInstanceManager());
context2.setWelcomeFiles(new String[] { "index.html" });
if (JiveGlobals.getBooleanProperty("xmpp.jmx.secure", true)) {
SecurityHandler securityHandler = basicAuth("jmxweb");
if (securityHandler != null)
context.setSecurityHandler(securityHandler);
SecurityHandler securityHandler2 = basicAuth("jmxweb");
if (securityHandler2 != null)
context2.setSecurityHandler(securityHandler2);
}
} catch (Exception e) {
Log.error("An error has occurred", e);
}
} catch (Exception e) {
Log.error("Error initializing JmxWeb Plugin", e);
}
if (JiveGlobals.getBooleanProperty("jmxweb.email.monitoring", true)) {
Log.info("[" + NAME + "] starting email monitoring");
emailScheduler = new EmailScheduler();
emailScheduler.startMonitoring();
Log.info("[" + NAME + "] started monitoring");
}
}
use of org.apache.jasper.servlet.JasperInitializer in project Openfire by igniterealtime.
the class HttpBindManager method createBoshHandler.
/**
* Creates a Jetty context handler that can be used to expose BOSH (HTTP-Bind) functionality.
*
* Note that an invocation of this method will not register the handler (and thus make the related functionality
* available to the end user). Instead, the created handler is returned by this method, and will need to be
* registered with the embedded Jetty webserver by the caller.
*
* @return A Jetty context handler (never null).
*/
protected Handler createBoshHandler() {
final int options;
if (isHttpCompressionEnabled()) {
options = ServletContextHandler.SESSIONS | ServletContextHandler.GZIP;
} else {
options = ServletContextHandler.SESSIONS;
}
final ServletContextHandler context = new ServletContextHandler(null, "/http-bind", options);
// Ensure the JSP engine is initialized correctly (in order to be able to cope with Tomcat/Jasper precompiled JSPs).
final List<ContainerInitializer> initializers = new ArrayList<>();
initializers.add(new ContainerInitializer(new JasperInitializer(), null));
context.setAttribute("org.eclipse.jetty.containerInitializers", initializers);
context.setAttribute(InstanceManager.class.getName(), new SimpleInstanceManager());
// Generic configuration of the context.
context.setAllowNullPathInfo(true);
// Add the functionality-providers.
context.addServlet(new ServletHolder(new HttpBindServlet()), "/*");
// Add compression filter when needed.
if (isHttpCompressionEnabled()) {
final GzipHandler gzipHandler = context.getGzipHandler();
gzipHandler.addIncludedPaths("/*");
gzipHandler.addIncludedMethods(HttpMethod.POST.asString());
}
return context;
}
use of org.apache.jasper.servlet.JasperInitializer in project tomcat by apache.
the class TestStandardContext method testTldListener.
@Test
public void testTldListener() throws Exception {
// Set up a container
Tomcat tomcat = getTomcatInstance();
File docBase = new File("test/webapp-3.0");
Context ctx = tomcat.addContext("", docBase.getAbsolutePath());
ctx.addServletContainerInitializer(new JasperInitializer(), null);
// Start the context
tomcat.start();
// Stop the context
ctx.stop();
String log = TesterTldListener.getLog();
Assert.assertTrue(log, log.contains("PASS-01"));
Assert.assertTrue(log, log.contains("PASS-02"));
Assert.assertFalse(log, log.contains("FAIL"));
}
use of org.apache.jasper.servlet.JasperInitializer in project tomcat by apache.
the class TestELInJsp method doTestELMisc.
private void doTestELMisc(boolean quoteAttributeEL) throws Exception {
Tomcat tomcat = getTomcatInstance();
// Create the context (don't use addWebapp as we want to modify the
// JSP Servlet settings).
File appDir = new File("test/webapp");
StandardContext ctxt = (StandardContext) tomcat.addContext(null, "/test", appDir.getAbsolutePath());
ctxt.addServletContainerInitializer(new JasperInitializer(), null);
// Configure the defaults and then tweak the JSP servlet settings
// Note: Min value for maxLoadedJsps is 2
Tomcat.initWebappDefaults(ctxt);
Wrapper w = (Wrapper) ctxt.findChild("jsp");
String jspName;
if (quoteAttributeEL) {
jspName = "/test/el-misc-with-quote-attribute-el.jsp";
w.addInitParameter("quoteAttributeEL", "true");
} else {
jspName = "/test/el-misc-no-quote-attribute-el.jsp";
w.addInitParameter("quoteAttributeEL", "false");
}
tomcat.start();
ByteChunk res = getUrl("http://localhost:" + getPort() + jspName);
String result = res.toString();
assertEcho(result, "00-\\\\\\\"${'hello world'}");
assertEcho(result, "01-\\\\\\\"\\${'hello world'}");
assertEcho(result, "02-\\\"${'hello world'}");
assertEcho(result, "03-\\\"\\hello world");
assertEcho(result, "2az-04");
assertEcho(result, "05-a2z");
assertEcho(result, "06-az2");
assertEcho(result, "2az-07");
assertEcho(result, "08-a2z");
assertEcho(result, "09-az2");
assertEcho(result, "10-${'foo'}bar");
assertEcho(result, "11-\\\"}");
assertEcho(result, "12-foo\\bar\\baz");
assertEcho(result, "13-foo\\bar\\baz");
assertEcho(result, "14-foo\\bar\\baz");
assertEcho(result, "15-foo\\bar\\baz");
assertEcho(result, "16-foo\\bar\\baz");
assertEcho(result, "17-foo\\'bar'\\"baz"");
assertEcho(result, "18-3");
assertEcho(result, "19-4");
assertEcho(result, "20-4");
assertEcho(result, "21-[{value=11}, {value=12}, {value=13}, {value=14}]");
assertEcho(result, "22-[{value=11}, {value=12}, {value=13}, {value=14}]");
}
Aggregations