GlassFish Project - JSR77 Implementation home page

| New to GlassFish | Community Guidelines  | Downloads | FAQ | Resources | GlassFish Project Home | How-Tos |


JSR77 is the Java EE Management Specification which will provide server vendors and tool vendors with a standard model for managing the Java EE Platform. This page discusses the JSR77 implementation and the extent to which it is implemented in GlassFish.

JSR77 Implementation News

JSR77 Maintenance Release Changes pertaining to deployment descriptor are being implemented.

Page Contents

Technologies


Several different software components including source and binary, support the GlassFish project.  The source components are released under the Common Development and Distribution License (CDDL) v1.0 whereas the binary components are covered under the binary license. You must agree to these licenses as part of installation before viewing and/or using the code.

JSR77 has a base model called J2EEManagedObject model and optional models StateManageable model, EventProvider model and StatisticsProvider model. Java EE Management EJB component (MEJB) provides access to the managed object instances of the J2EEManagedObject model and enables its management.

Our current implementation of JSR77 includes base model, optional StateManageable model for the server management object, and MEJB. The monitoring has been implemented so that it can be extended in the future to cater to the statistics provider model. In fact the existing monitoring implementation goes beyond JSR77 requirement.

The managed objects include J2EEDomain, J2EEServer, Applications, Modules, Resources, JVM and other manageable objects within the server. The source code for JSR77 consists of utility classes and instrumentation.

Utility classes are used to perform repetitive and common functions like creation and registration of MBeans for the corresponding applications or resources. Source is at admin/util/src/java/com/sun/enterprise/management/util.

Above utility class uses runtime MBean infrastructure to create and register JSR77 or runtime MBeans. The MBean infrastructure code located under admin-core/admin/src/java/com/sun/enterprise uses runtime MBeans descriptor for instantiating and registering JSR77 MBeans at runtime.

The instrumentation consists of equipping managed objects with JSR77 enabled code. You may refer to appserv-core/src/java/com/sun/enterprise/server for applications and modules and appserv-core/src/java/com/sun/enterprise/resource for resources. For web module, JSR77 implementation is done by the web container.

MEJB Utility is accessible in the form of an ejb, which is packaged and deployed like any other ejb module. MEJB can be accessed by any user who is in asadmin group with admin-role which is described in the vendor specific descriptor sun-application.xml. It is the same realm which is used by asadmin or admin-gui or jmx-connector. The source code for MEJB Utility is at admin-core/jsr77/src/java/com/sun/enterprise/management/agent

Unit/Acceptance Tests

Per commit procedures the Quicklook Tests are required for all areas. In addition to the quicklook tests, we are developing some dev tests which need to be run as well. Once the dev tests are ready, we'll post the detailed instructions to execute them. Pl. refer to the ToDo list on this page.

Supporting Documentation

This sections contains pointers to useful documents and information about JSR77 implementation in GlassFish.

Specifications:

ToDo List

  1. Add dev tests to supplement quicklook tests.
  2. Implement EventProvider model
  3. Integrate with monitoring and turn on StatisticsProvider model

Please email dev@glassfish.dev.java.net if you have questions about current implementation or would like to contribute to future ToDo list.