The XMOJO Project
<< Prev Chapter 6. Frequently Asked Questions Next >>

The XMOJO JMX Project FAQ


List of topics:
Installation
  1. What are the supported OS of XMOJO JMX implementation ? [Ans.]
  2. What are the supported JDK of XMOJO JMX implementation ? [Ans.]
  3. What are the third-party jars used in XMOJO ? [Ans.]
General
  1. What is JMX ? [Ans.]
  2. What is an MBean ? [Ans.]
  3. What are the different types of MBeans ? [Ans.]
  4. When should I go for Standard MBeans ? [Ans.]
  5. When should I go for Dynamic MBeans ? [Ans.]
  6. When should I go for Model MBeans etc. ? [Ans.
  7. How do third-party applications exposed as manageable applications ?  [Ans.]
  8. How do I make my MBean to send notifications to interested parties ?  [Ans.]
  9. What is the purpose of NotificationFilter ?  [Ans.]
  10. What is the purpose of handback object ?  [Ans.]
Advanced Dynamic Loading
  1. What is an MLet service ?  [Ans.]
  2. Is a Web server required to use the MLet service ?  [Ans.]
Adaptors and Connectors
  1. How do managers communicate with MBeanServer and manage the applications ?  [Ans.]
  2. What are adaptors ? [Ans.]
  3. What are connectors ? [Ans.]
  4. What is the difference between adaptors and connectors ? [Ans.]
  5. What is HTML adaptor and how can I use it ? [Ans.]
  6. What is RMI adaptor and how can I use it ?  [Ans.]
  7. What I have to do to make the HTML adaptor work with some other web-servers, say Tomcat, Resin etc. ?  [Ans.]
Deployment
  1. What jars are needed from XMOJO for deploying application instrumented with JMX ? [Ans.]

 Installation

[Topic] [Top]

        ü What are the supported OS of XMOJO JMX implementation ?
                As XMOJO JMX implementation is based on Java, all Operating Systems that support JVM (Java Virtual Machine) can be used. Here, we have officially tested with Windows, Linux, and Solaris.
[Topic] [Top]

        ü What are the supported JDKs of XMOJO JMX implementation ?
                For using the XMOJO JMX implementation, JDK1.2 or later is required.  For using the tools, JDK1.3 or later is required.
[Topic] [Top]
 

        ü What are the third-party jars used in XMOJO ?
                The following third-party software packages are used in XMOJO JMX implementation:
[Topic] [Top]


 General 

[Topic] [Top]

        ü What is JMX ?
                The Java Management Extensions (also called the JMX specification) defines an architecture, the design patterns, the APIs, and     the services for application and network management in the Java programming language.
[Topic] [Top]

        ü What is an MBean ?
                Managed Bean or MBean in short is a Java object that follows the design patterns set forth in the instrumentation level of the JMX specification. MBeans expose a management interface: a set of readable and/or writable attributes and a set of invokable operations, along with a self-description.
[Topic] [Top]

        ü What are the different types of MBeans ?
                JMX 1.0 specification defines four broad types of MBeans, namely Standard MBeans, Dynamic MBeans, Model MBeans, and less standardized Open MBeans. MBeans can be of Standard or Dynamic, i.e., whose management interface will not change (standard) or may change (dynamic). Model MBeans and Open MBeans extend the Dynamic MBeans and provides additional features.

[Topic] [Top]

        ü When should I go for Standard MBeans ?
                Managed applications can be instrumented as standard MBeans, if their management interface is going to be static.  As the management interface is static, it is very easy to instrument it as standard MBeans.
[Topic] [Top]

        ü When should I go for Dynamic MBeans ?
                Dynamic MBeans are most suitable for instrumenting the managed applications whose management interface is varying dynamically.  Dynamic MBeans give great flexibility in instrumenting the managed applications and also they enable to wrap the existing application and exposing them as MBeans for management.
[Topic] [Top]

        ü When should I go for Model MBeans ?
                Model MBeans are also Dynamic MBeans and it will be suitable for instrumenting the managed applications which requires dynamic MBeans behavior and needs to describe various run-time behavior for attributes, operations, etc.   Model MBeans enable describing attributes and operations through "Descriptors".
[Topic] [Top]

        ü How do third-party applications exposed as  manageable applications ?
                Those applications which are third-party applications or whose source code cannot be accessed or whose source should not be modified, etc. can be exposed as MBeans using Dynamic MBeans.  The wrapper will implement the DynamicMBean interface and actually wraps the application.
[Topic] [Top]

        ü How do I make my MBean send notifications to interested parties ?
                MBeans should implement NotificationBroadcaster interface to enable the notification listeners to get registered with the MBean.  JMX implementation provides a default implementation of the notification broadcaster interface called "NotificationBroadcasterSupport". MBeans can extend either the NotificationBroadcasterSupport class or implement the NotificationBroadcaster interface.
[Topic] [Top]

        ü What is the purpose of NotificationFilter ?
                NotificationFilter is used to filter the notifications emitted by the MBean and receive only the interested types among them.  The listener while registering itself with MBeans as notification listener will have to supply the NotificationFilter object which would have implemented the "isNotificationEnabled" method of NotificationFilter to filter out the unwanted notifications.  If this NotificationFilter object is null, then all the emitted notifications by the MBeans will be delivered to the listener.
[Topic] [Top]

        ü What is the purpose of  hand back object ?
                Hand back objects are the objects which are of no use to the Notification mechanism and their use is purely depends on the listener. It can be any object and will be supplied by listener during registration and will be handed back to listener during sending notifications.
[Topic] [Top]


 Advanced Dynamic Loading 

[Topic] [Top]

        ü What is an MLet service ?
                The MLet service is useful to load MBeans classes and resources inside an MBean Server's JVM from a remote host and register the MBeans in a single action.  The MLet service loads an m-let text XML-like file which contains information about the MBeans that have to be registered.  The location of the m-let file is specified by a URL.
[Topic] [Top]

        ü Is a Web server required to use the MLet service ?
                No, you can also specify a file URL which points to a local file, when registering MBeans with addMBeansFromURL().
[Topic] [Top]


 Adaptors and Connectors

[Topic] [Top]

        ü How do managers communicate with MBeanServer and manage the applications ?
                The managers or managing applications, communicate with MBeanServer through protocol adaptors and connectors depends on what protocol they can understand and thus manages the application.
[Topic] [Top]

        ü What are adaptors ?
                Protocol adaptors provide a management view of the JMX agent through a given protocol. They adopt the operations of MBeans and the MBean server into a representation in the given protocol and possibly into a different information model, for example SNMP.
[Topic] [Top]

        ü What are connectors ?
                Protocol connectors convey management operations transparently point-to-point over a specific protocol. This kind of communication involves a connector server in the agent and a connector client in the manager.
[Topic] [Top]

        ü What is the difference between adaptors and connectors ?
                Protocol adaptors usually have server part of the adaptor which converts the JMX communications into protocol specific communications, whereas in case of Connectors,  communication involves a connector server in the agent and a connector client in the manager. Management applications that connect to a protocol adaptor are usually specific to the given protocol, whereas management application which uses connectors are developed using the distributed services of the JMX 1.0 specification.
[Topic] [Top]

        ü What is HTML adaptor and how can I use it ?
                HTML adaptor is the adaptor for HTML protocol, using which an application can be managed through any HTML3.2 compliant browser or application. In order to use HTML adaptor, it has to be reigsted with MBeanServer (as all adaptors are MBeans) from the Agent.  For more details, refer the HTML Adaptor topic in the help documentation.
[Topic] [Top]

        ü What is RMI adaptor and how can I use it ?
                RMI adaptor/connector, is based on the client framework, which helps the managers or managing applications, to communicate with MBeanServer through RMI. In order to use RMI adaptor, it has to be reigsted with MBeanServer (as all adaptors are MBeans) from the Agent.  For more details, refer the RMI Adaptor topic in the help documentation.
[Topic] [Top]

        ü What I have to do to make the HTML adaptor work with some other web-servers, say Tomcat, Resin etc. ?
                By default, the shipped HTML adaptor will use Jetty web server and servlet and JSP container.  To use any other servlet compatible containers, you have to wrap that server and implement the "com.adventnet.adaptors.html.HttpServerInterface" interface.  For more details, refer the section Plugging in Your Own Web Server in the HTML Adaptor topic in the Help documentation.
[Topic] [Top]


 Deployment

[Topic] [Top]

        ü What are the jars needed from XMOJO for deploying application instrumented with JMX ?
                The xmojo.jar and xmojoutils.jar are needed. These JAR files are available under lib directory.
[Topic] [Top]


<< Prev Home Next >>
Notification Model Example
Trouble Shooting