Home Page Icon
Home Page
Table of Contents for
Java Management Extensions
Close
Java Management Extensions
by J. Steven Perry
Java Management Extensions
Java Management Extensions
Preface
Audience
Organization
Conventions Used in This Book
Comments and Questions
Source Code Availability
Acknowledgments
1. Java Management Extensions Concepts
Introducing JMX
JMX Architecture
The Instrumentation Level
What is an MBean?
Standard MBeans
Dynamic MBeans
Model MBeans
Open MBeans
JMX notifications
The Agent Level
The MBean server
The M-Let service
Monitoring services
The timer service
The relation service
The Distributed Services Level
Protocol adaptors and connectors
JSR 160
The Sample Producer/Consumer Application
Design
Source Code
Building and Running the Application
Monitoring and Managing the Application
2. Standard MBeans
What Is a Management Interface?
How Do Standard MBeans Work?
Describing the Management Interface
Pattern #1: Defining, naming, and implementing the MBean interface
Pattern #2: Provide at least one public constructor
Pattern #3: Attributes and how to name their getters and setters
A word about introspection
Standard MBean Inheritance Patterns
Pattern #1: Basic inheritance
Pattern #2: Simple inheritance
Pattern #3: Simple inheritance with child class implementing an MBean interface
Pattern #4: Simple inheritance with MBean inheritance
Pattern #5: Compiler-enforced management interface inheritance
Common Mistakes Not Caught by Introspection
Mistake #1: MBean interface not given public visibility
Mistake #2: Wrong return value type
Mistake #3: Wrong number of parameters
Implementing the MBean Interface
Throwing Exceptions from Your MBeans
The Driver Program: Controller.main( )
The ObjectName class
Registering the MBean with the MBean server
The HTMLAdaptorServer Class
Downloading and Installing the JMX Reference Implementation
3. Dynamic MBeans
Why Use Dynamic MBeans?
How Do Dynamic MBeans Work?
Describing the Management Interface
MBeanAttributeInfo
MBeanParameterInfo
MBeanConstructorInfo
MBeanOperationInfo
MBeanNotificationInfo
MBeanInfo
Implementing the DynamicMBean Interface
Attribute
AttributeList
getAttribute( )
setAttribute( )
getAttributes( )
setAttributes( )
invoke( )
Dynamic MBean Inheritance Patterns
Explicit Superclass Exposure
getAttribute( )
setAttribute( )
invoke( )
Superclass Delegation
getAttribute( )
setAttribute( )
invoke( )
Mixing It Up
4. Model MBeans
Why Use Model MBeans?
How Do Model MBeans Work?
Model MBean Descriptors
class
currencyTimeLimit
default
descriptorType
export
getMethod
log
logFile
name
persistPeriod
persistPolicy
role
setMethod
severity
value
visibility
Other fields
Describing the Management Interface
ModelMBeanAttributeInfo
ModelMBeanConstructorInfo
ModelMBeanOperationInfo
ModelMBeanNotificationInfo
ModelMBeanInfo
DescriptorAccess
RequiredModelMBean
ModelMBean
DynamicMBean
PersistentMBean
Instrumenting Resources as Model MBeans
5. Open MBeans
Open MBean Types
Basic Types
OpenType
SimpleType
Other basic types
Complex Data
CompositeType
CompositeData
CompositeDataSupport
TabularType
TabularData
TabularDataSupport
Open MBean Metadata Classes
OpenMBeanParameterInfo
OpenMBeanParameterInfoSupport
OpenMBeanAttributeInfo
OpenMBeanAttributeInfoSupport
OpenMBeanConstructorInfo
OpenMBeanConstructorInfoSupport
OpenMBeanOperationInfo
OpenMBeanOperationInfoSupport
MBeanNotificationInfo
OpenMBeanInfo
OpenMBeanInfoSupport
6. The MBean Server
What Is the MBean Server?
Obtaining a Reference to the MBean Server
Creating the MBean Server
Finding the MBean Server
Releasing a Reference to the MBeanServer
The MBeanServer Interface
Instantiation and Registration
Instantiating an MBean
Registering an MBean
Combining the instantiation and registration of an MBean
Removing a registered MBean from the MBean server
Indirect MBean Manipulation
Notification
Query
Utility
Controlling MBean Registration
MBeanServerDelegate
MBean Server Information
MBean Server Notifications
7. JMX Notifications
The JMX Notification Model
JMX Notification Classes and Interfaces
Notification
NotificationFilter
The Handback Object
NotificationBroadcaster
NotificationListener
8. Dynamic Loading
Overview
The M-Let Service
The M-Let File
MLET
CODE
OBJECT
ARCHIVE
CODEBASE (optional)
NAME (optional)
VERSION (optional)
ARG
Bringing it all together
Loading MBeans Without an M-Let File
How Does Dynamic Loading Work?
getMBeansFromURL( )
9. The Monitoring Services
The MonitorNotification Class
Error Conditions
Counter Monitor Notification Types
Gauge Monitor Notification Types
String Monitor Notification Types
Counter Monitors
Gauge Monitors
String Monitors
Other Issues
10. The Timer Service
The Timer Class
Using the Timer Service
Handling the Controller Start Notification
Handling the Message Queue Flush Notification
11. The Relation Service
Introduction
The Basic Relation Service Classes
RoleInfo
RelationType
Role
RoleList
RelationService
RelationTypeSupport
RelationSupport
Using the Relation Service
Using the Relation Service Support Classes
Modifying a Role
Index
Colophon
Search in book...
Toggle Font Controls
Playlists
Add To
Create new playlist
Name your new playlist
Playlist description (optional)
Cancel
Create playlist
Sign In
Email address
Password
Forgot Password?
Create account
Login
or
Continue with Facebook
Continue with Google
Sign Up
Full Name
Email address
Confirm Email Address
Password
Login
Create account
or
Continue with Facebook
Continue with Google
Prev
Previous Chapter
Cover
Next
Next Chapter
Preface
Java Management Extensions
J. Steven Perry
Editor
Robert Denn
Copyright © 2002 O'Reilly Media, Inc.
Add Highlight
No Comment
..................Content has been hidden....................
You can't read the all page of ebook, please click
here
login for view all page.
Day Mode
Cloud Mode
Night Mode
Reset