Brings powerful JMX capabilities to your Alfresco installation (Administrators) and custom modules (Developers).
JMX (Java Management eXtensions) capabilities have been previously only available to Alfresco Enterprise installations. This module brings JMX to Alfresco Community edition installations, including installations of LXCommunity ECM.
The existing JMX implementation available with Alfresco Enterprise is based on a proprietary implementation of JMX related beans. Since then, Spring framework has included built-in support for adding annotations to make it easier to develop and build JMX resource and operation exporting beans.
Compared to the existing implementation, this module is modern and open source. It is also a way of encouraging community contribution towards a scalable and stable infrastructure for everyone who has chosen Alfresco, whether it is Enterprise or Community.
- Download the source or checkout the project using
- Package using
mvn packageand deploy the resulting AMP file in your Alfresco.
Currently the module exposes the ability to receive user count and group count using JMX. This is a intended as a basic demonstration of how JMX resources can be exposed.
The following features are to be added to the module. If you have are willing, go ahead and create them.
- Adding more statistics providers
- Adding support for modifying system properties and properties defined using alfresco-global.properties
- Adding support for changing Log4J and logging related properties
- Adding support for manual scheduler invocations
You can use the standard JMX configuration properties according to official Alfresco documentation.
Extending Capabilities for Developers
If you are building an Alfresco extension module, add Alfresco JMX as a dependency. This allows you to use powerful annotations from Spring framework, such as
@ManagedAttribute within your code. See the existing beans defined within the source of this module for reference.
Providing more JMX Resources/Operations
If you want to provide more information and operations through JMX, you can contribute to the development of this module.
Trying out the module with JMX Console
To try the module, start the server by running
run.shand then open JConsole or JVisualVM.
Use the following settings to connect to the JVM JMX instance and replace variables as necessary.
This module is an important step in bringing the best features to Alfresco Community edition. This will remain open source.
Create a fork of this project and make pull requests as you see fit. They will be merged and made available to everyone who are using this module.