Search in sources :

Example 1 with Openfire

use of com.javamonitor.openfire.mbeans.Openfire 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");
    }
}
Also used : ConnectionManagerImpl(org.jivesoftware.openfire.spi.ConnectionManagerImpl) CoreThreadPool(com.javamonitor.openfire.mbeans.CoreThreadPool) SimpleInstanceManager(org.apache.tomcat.SimpleInstanceManager) InstanceManager(org.apache.tomcat.InstanceManager) PacketCounter(com.javamonitor.openfire.mbeans.PacketCounter) ContextHandlerCollection(org.eclipse.jetty.server.handler.ContextHandlerCollection) SimpleInstanceManager(org.apache.tomcat.SimpleInstanceManager) Openfire(com.javamonitor.openfire.mbeans.Openfire) WebAppContext(org.eclipse.jetty.webapp.WebAppContext) DatabasePool(com.javamonitor.openfire.mbeans.DatabasePool) EmailScheduler(com.ifsoft.jmxweb.plugin.EmailScheduler) ContainerInitializer(org.eclipse.jetty.plus.annotation.ContainerInitializer) JasperInitializer(org.apache.jasper.servlet.JasperInitializer)

Aggregations

EmailScheduler (com.ifsoft.jmxweb.plugin.EmailScheduler)1 CoreThreadPool (com.javamonitor.openfire.mbeans.CoreThreadPool)1 DatabasePool (com.javamonitor.openfire.mbeans.DatabasePool)1 Openfire (com.javamonitor.openfire.mbeans.Openfire)1 PacketCounter (com.javamonitor.openfire.mbeans.PacketCounter)1 JasperInitializer (org.apache.jasper.servlet.JasperInitializer)1 InstanceManager (org.apache.tomcat.InstanceManager)1 SimpleInstanceManager (org.apache.tomcat.SimpleInstanceManager)1 ContainerInitializer (org.eclipse.jetty.plus.annotation.ContainerInitializer)1 ContextHandlerCollection (org.eclipse.jetty.server.handler.ContextHandlerCollection)1 WebAppContext (org.eclipse.jetty.webapp.WebAppContext)1 ConnectionManagerImpl (org.jivesoftware.openfire.spi.ConnectionManagerImpl)1