Register JMX MBeans by adding some simple annotations to your classes.
Java
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
src Add new method to test objects with enum attributes. Aug 12, 2012
.gitignore Initial import. Aug 11, 2012
LICENSE Initial import. Aug 12, 2012
README.md
pom.xml [maven-release-plugin] prepare for next development iteration Aug 12, 2012

README.md

JMX Annotations

Build Status

A lightweight library (with no external dependencies) that simplifies the creation and registration of JMX MBeans by providing some annotations that you can easily add to your classes.

How it works

Take a look at the following class:

public class Statistics {
	
	public int counter;
	
	@ManagedAttribute
	public int getCounter() {
		return this.counter;
	}
	
	public void setCounter(int counter) {
		this.counter = counter;
	}
	
	@ManagedOperation
	public void resetCounter() {
		this.counter = 0;
	}
	
}

As you can see the getCounter() method is annotated with @ManagedAttribute and the resetCounter() method with @ManagedOperation. We can now register the JMX MBean in one single line of code:

Management.register(new Statistics(), "org.test:type=Statistics");

This will create a DynamicMBean from the object and will register it in the default MBeanServer (it calls ManagementFactory.getPlatformMBeanServer() underneath).

That's it. Enjoy!

Browse Javadocs

Configuration

If you are using Maven, you just need to add the dependency and the repository to your pom.xml file:

    <dependencies>
        <dependency>
            <groupId>net.gescobar</groupId>
            <artifactId>jmx-annotations</artifactId>
            <version>1.0.0</version>
        </dependency>
    </dependencies>

    <repositories>
        <repository>  
            <id>elibom</id>  
            <url>http://repository.elibom.net/nexus/content/groups/public/</url>  
        </repository>
    </repositories>