mx4j/src/docs/english jmx-explained.xml,1.7,1.8
Simone Bordet <[email protected]>
| Newsgroups | gmane.comp.java.mx4j.cvs |
|---|---|
| Message-ID | <[email protected]> |
Update of /cvsroot/mx4j/mx4j/src/docs/english
In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv4104/src/docs/english
Modified Files:
jmx-explained.xml
Log Message:
Fixed typo. Resolves bug #968203
Index: jmx-explained.xml
===================================================================
RCS file: /cvsroot/mx4j/mx4j/src/docs/english/jmx-explained.xml,v
retrieving revision 1.7
retrieving revision 1.8
diff -C2 -d -r1.7 -r1.8
*** jmx-explained.xml 4 Nov 2003 00:29:38 -0000 1.7
--- jmx-explained.xml 12 Jun 2004 21:24:31 -0000 1.8
***************
*** 9,13 ****
<para>
JMX 1.2 introduced four overloaded static version of the
! <classname>getInstance()</classname> method: <sbr/>
<sbr/>
<funcdef>
--- 9,14 ----
<para>
JMX 1.2 introduced four overloaded static version of the
! <classname>getInstance()</classname> method:
! <sbr/>
<sbr/>
<funcdef>
***************
*** 54,58 ****
<section>
<title>The
! <classname>quote()</classname> and <classname>unquote()</classname> methods
</title>
<para>
--- 55,60 ----
<section>
<title>The
! <classname>quote()</classname> and
! <classname>unquote()</classname> methods
</title>
<para>
***************
*** 61,65 ****
</para>
<para>
! A simple example of this feature is to specify an LDAP name as an ObjectName property value. <sbr/>
Since the comma is a reserved character that separates ObjectName properties, it would have been
impossible to specify an LDAP name as an ObjectName property.
--- 63,68 ----
</para>
<para>
! A simple example of this feature is to specify an LDAP name as an ObjectName property value.
! <sbr/>
Since the comma is a reserved character that separates ObjectName properties, it would have been
impossible to specify an LDAP name as an ObjectName property.
***************
*** 67,71 ****
<para>
Let's suppose to have a distinguished name of 'uid=guest,ou=project,o=company', and to build an
! ObjectName with a property called 'dname' whose value is the distinguished name. <sbr/>
Without quoting, the ObjectName is:
</para>
--- 70,75 ----
<para>
Let's suppose to have a distinguished name of 'uid=guest,ou=project,o=company', and to build an
! ObjectName with a property called 'dname' whose value is the distinguished name.
! <sbr/>
Without quoting, the ObjectName is:
</para>
***************
*** 86,90 ****
<para>
The ObjectName class has no knowledge if a value should be quoted or not, so it is responsibility
! of the developer to quote and unquote property values. <sbr/>
It is a good practice to do so in those cases where the property value is chosen by users, for example
by inputting it in a web form or in a swing gui.
--- 90,95 ----
<para>
The ObjectName class has no knowledge if a value should be quoted or not, so it is responsibility
! of the developer to quote and unquote property values.
! <sbr/>
It is a good practice to do so in those cases where the property value is chosen by users, for example
by inputting it in a web form or in a swing gui.
***************
*** 98,107 ****
<title>Overview</title>
<para>
! JMX 1.2 defined all changes to the JMX specification needed to support remote API. <sbr/>
Imagine a situation where a client needs to contact a remote MBeanServer, to invoke operations on it and
! to receive the result of such invocations. <sbr/>
In order for this situation to be possible, the JMX specification needed several changes such as
specifying the serialVersionUID of serializable classes that can be exchanged between the client and
! the remote MBeanServer (for example <classname>javax.management.MBeanInfo</classname>), specifying
details of MBeanServer's classloading to support classloading from remote locations, and the possibility
for the client to invoke operations on an MBeanServer-like interface that supports remote invocation
--- 103,115 ----
<title>Overview</title>
<para>
! JMX 1.2 defined all changes to the JMX specification needed to support remote API.
! <sbr/>
Imagine a situation where a client needs to contact a remote MBeanServer, to invoke operations on it and
! to receive the result of such invocations.
! <sbr/>
In order for this situation to be possible, the JMX specification needed several changes such as
specifying the serialVersionUID of serializable classes that can be exchanged between the client and
! the remote MBeanServer (for example
! <classname>javax.management.MBeanInfo</classname>), specifying
details of MBeanServer's classloading to support classloading from remote locations, and the possibility
for the client to invoke operations on an MBeanServer-like interface that supports remote invocation
***************
*** 123,129 ****
</para>
<para>
! The <classname>javax.management.MBeanServerConnection</classname> interface has been defined as the
portion of the MBeanServer interface that can be used by client to contact a remote MBeanServer, and
! is MBeanServer's parent interface. <sbr/>
</para>
</section>
--- 131,139 ----
</para>
<para>
! The
! <classname>javax.management.MBeanServerConnection</classname> interface has been defined as the
portion of the MBeanServer interface that can be used by client to contact a remote MBeanServer, and
! is MBeanServer's parent interface.
! <sbr/>
</para>
</section>
***************
*** 174,178 ****
<programlisting>
<![CDATA[
! java -cp jmxri.jar;mx4j-impl.jar -Djava.management.builder.initial=mx4j.server.MX4JMBeanServerBuilder <MyClass>
]]>
</programlisting>
--- 184,188 ----
<programlisting>
<![CDATA[
! java -cp jmxri.jar;mx4j-impl.jar -Djavax.management.builder.initial=mx4j.server.MX4JMBeanServerBuilder <MyClass>
]]>
</programlisting>
***************
*** 466,470 ****
<para>
MX4J version 1.x provided a custom implementation of a JDK 1.3's dynamic proxy to ease invocation
! of methods on a MBean via the MBeanServer, the <classname>mx4j.util.StandardMBeanProxy</classname> class.
<sbr/>
MX4J 1.x provided also a class for invocation of methods on remote MBeans, namely
--- 476,481 ----
<para>
MX4J version 1.x provided a custom implementation of a JDK 1.3's dynamic proxy to ease invocation
! of methods on a MBean via the MBeanServer, the
! <classname>mx4j.util.StandardMBeanProxy</classname> class.
<sbr/>
MX4J 1.x provided also a class for invocation of methods on remote MBeans, namely
***************
*** 476,481 ****
</para>
<para>
! In JMX 1.2, the <classname>javax.management.MBeanServer</classname> interface inherits from the
! <classname>javax.management.MBeanServerConnection</classname> interface. <sbr/>
The MBeanServerConnection interface has basically the same methods of MBeanServer except those that
does not have sense remotely (like deserialize() and registerMBean()), and adds
--- 487,494 ----
</para>
<para>
! In JMX 1.2, the
! <classname>javax.management.MBeanServer</classname> interface inherits from the
! <classname>javax.management.MBeanServerConnection</classname> interface.
! <sbr/>
The MBeanServerConnection interface has basically the same methods of MBeanServer except those that
does not have sense remotely (like deserialize() and registerMBean()), and adds
***************
*** 484,492 ****
</para>
<para>
! As of JMX 1.2, both <classname>mx4j.util.StandardMBeanProxy</classname> and
<classname>mx4j.connector.RemoteStandardMBeanProxy</classname> are obsolete since they have been
replaced by one single class, the standard
<classname>javax.management.MBeanServerInvocationHandler</classname> class, that takes advantage of
! the improved class hierarchy of the <classname>javax.management.MBeanServer</classname> interface
to unify the functionalities that were provided before by the two MX4J classes.
</para>
--- 497,507 ----
</para>
<para>
! As of JMX 1.2, both
! <classname>mx4j.util.StandardMBeanProxy</classname> and
<classname>mx4j.connector.RemoteStandardMBeanProxy</classname> are obsolete since they have been
replaced by one single class, the standard
<classname>javax.management.MBeanServerInvocationHandler</classname> class, that takes advantage of
! the improved class hierarchy of the
! <classname>javax.management.MBeanServer</classname> interface
to unify the functionalities that were provided before by the two MX4J classes.
</para>
***************
*** 499,515 ****
<para>
The JMX API to call an MBean via MBeanServer is very tedious: involves a reflection-like syntax and
! a complex exception handling. <sbr/>
The reflection-like syntax is sometimes an advantage, but it suffers of lack of static type checkings
! made by the compiler. <sbr/>
The exception handling is complex since it involves unwrapping of
<classname>javax.management.MBeanException</classname>s and rethrowing of the original exception thrown
! by the MBean method, very much like <classname>java.lang.reflect.InvocationTargetException</classname>
requires.
</para>
<para>
! Fortunately, JDK 1.3 provides <emphasis>dynamic proxies</emphasis> via the
! <classname>java.lang.reflect.Proxy</classname> class. <sbr/>
By means of dynamic proxies, is it possible to write a proxy that hides the complexity of JMX
! invocations and provides static type checking and trasparent exception handling. <sbr/>
Compare the two code examples below and note how the second example is cleaner.
</para>
--- 514,536 ----
<para>
The JMX API to call an MBean via MBeanServer is very tedious: involves a reflection-like syntax and
! a complex exception handling.
! <sbr/>
The reflection-like syntax is sometimes an advantage, but it suffers of lack of static type checkings
! made by the compiler.
! <sbr/>
The exception handling is complex since it involves unwrapping of
<classname>javax.management.MBeanException</classname>s and rethrowing of the original exception thrown
! by the MBean method, very much like
! <classname>java.lang.reflect.InvocationTargetException</classname>
requires.
</para>
<para>
! Fortunately, JDK 1.3 provides
! <emphasis>dynamic proxies</emphasis> via the
! <classname>java.lang.reflect.Proxy</classname> class.
! <sbr/>
By means of dynamic proxies, is it possible to write a proxy that hides the complexity of JMX
! invocations and provides static type checking and trasparent exception handling.
! <sbr/>
Compare the two code examples below and note how the second example is cleaner.
</para>
***************
*** 570,574 ****
</para>
<para>
! Usage of the <classname>javax.management.MBeanServerInvocationHandler</classname> class is straightforward
for standard MBeans, since they already comply a management interface that is also a Java interface.
This interface can be used directly
--- 591,596 ----
</para>
<para>
! Usage of the
! <classname>javax.management.MBeanServerInvocationHandler</classname> class is straightforward
for standard MBeans, since they already comply a management interface that is also a Java interface.
This interface can be used directly
***************
*** 613,627 ****
</para>
<para>
! Refer to the javadocs of the <classname>javax.management.MBeanServerInvocationHandler</classname> class
for further details.
</para>
</section>
<section>
! <title>Porting examples for <classname>mx4j.util.StandardMBeanProxy</classname></title>
<para>
! The MX4J 1.x API of <classname>mx4j.util.StandardMBeanProxy</classname> is very similar to
<classname>javax.management.MBeanServerInvocationHandler</classname>'s.
<sbr/>
! Below are shown two code snippets that compare the old MX4J 1.x API with the new standard one. <sbr/>
Note how only the line marked with (*) changes from the old version to the new one.
</para>
--- 635,654 ----
</para>
<para>
! Refer to the javadocs of the
! <classname>javax.management.MBeanServerInvocationHandler</classname> class
for further details.
</para>
</section>
<section>
! <title>Porting examples for
! <classname>mx4j.util.StandardMBeanProxy</classname>
! </title>
<para>
! The MX4J 1.x API of
! <classname>mx4j.util.StandardMBeanProxy</classname> is very similar to
<classname>javax.management.MBeanServerInvocationHandler</classname>'s.
<sbr/>
! Below are shown two code snippets that compare the old MX4J 1.x API with the new standard one.
! <sbr/>
Note how only the line marked with (*) changes from the old version to the new one.
</para>
-------------------------------------------------------
This SF.Net email is sponsored by the new InstallShield X.
From Windows to Linux, servers to mobile, InstallShield X is the
one installation-authoring solution that does it all. Learn more and
evaluate today! http://www.installshield.com/Dev2Dev/0504