1. Introduction

This plugin exposes the Griffon Environment, application metadata and various managers through JMX beans. The application’s name is used as a qualifier on the beans in order to avoid any conflicts with more than one application running within the same JVM process.

The following list summarizes the types and their MBean names

griffon.core.env.GriffonEnvironment

griffon.core:type=Environment,application=<applicationName>,name=griffon

griffon.core.env.Metadata

griffon.core:type=Environment,application=<applicationName>,name=metadata

griffon.core.addon.AddonManager

griffon.core:type=Manager,application=<applicationName>,name=addon

griffon.core.artifact.ArtifactManager

griffon.core:type=Manager,application=<applicationName>,name=artifact

griffon.core.mvc.MVCGroupManager

griffon.core:type=Manager,application=<applicationName>,name=mvc

griffon.core.view.WindowManager

griffon.core:type=Manager,application=<applicationName>,name=window

griffon.core.controller.ActionManager

griffon.core:type=Manager,application=<applicationName>,name=action

griffon.core.threading.UIThreadManager

griffon.core:type=Manager,application=<applicationName>,name=thread

Here’s how these beans look when a example application is inspected using JConsole

jconsole

Griffon version: 2.11.0

2. Configuration

2.1. Gradle

You have two options for configuring this plugin: automatic and manual.

2.1.1. Automatic

As long as the project has the org.codehaus.griffon.griffon plugin applied to it you may include the following snippet in build.gradle

dependencies {
    griffon 'org.codehaus.griffon.plugins:griffon-monitor-plugin:2.0.0'
}

The griffon plugin will take care of the rest given its configuration.

2.1.2. Manual

You will need to configure any of the following blocks depending on your setup

dependencies {
    compile 'org.codehaus.griffon.plugins:griffon-monitor-core:2.0.0'
}

2.2. Maven

First configure the griffon-monitor-plugin BOM in your POM file, by placing the following snippet before the <build> element

<dependencyManagement>
    <dependencies>
        <dependency>
            <groupId>org.codehaus.griffon.plugins</groupId>
            <artifactId>griffon-monitor-plugin</artifactId>
            <version>2.0.0</version>
            <type>pom</type>
            <scope>import</scope>
        </dependency>
    </dependencies>
</dependencyManagement>

Next configure dependencies as required by your particular setup

<dependency>
    <groupId>org.codehaus.griffon.plugins</groupId>
    <artifactId>griffon-monitor-core</artifactId>
</dependency>

3. Modules

The following sections display all bindings per module. Use this information to successfully override a binding on your own modules or to troubleshoot a module binding if the wrong type has been applied by the Griffon runtime.

3.1. Monitor

Module name: monitor

bind(MBeanManager.class)
    .to(DefaultMBeanManager.class)
    .asSingleton();

bind(GriffonAddon.class)
    .to(MonitorAddon.class)
    .asSingleton();