<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Le Blog de out.println(&#34;Linkinselim&#34;) &#187; Java Management Extension</title>
	<atom:link href="https://blog.developpez.com/linkinselim/pcategory/java-management-extension/feed" rel="self" type="application/rss+xml" />
	<link>https://blog.developpez.com/linkinselim</link>
	<description></description>
	<lastBuildDate>Mon, 25 Aug 2008 11:42:48 +0000</lastBuildDate>
	<language>fr-FR</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>https://wordpress.org/?v=4.1.42</generator>
	<item>
		<title>Exemple d’administration d’une ressource avec l’outil JConsole</title>
		<link>https://blog.developpez.com/linkinselim/p6264/java-management-extension/exemple_d_administration_d_une_ressource</link>
		<comments>https://blog.developpez.com/linkinselim/p6264/java-management-extension/exemple_d_administration_d_une_ressource#comments</comments>
		<pubDate>Mon, 25 Aug 2008 10:11:59 +0000</pubDate>
		<dc:creator><![CDATA[linkinselim]]></dc:creator>
				<category><![CDATA[Java Management Extension]]></category>

		<guid isPermaLink="false"></guid>
		<description><![CDATA[Depuis la version 5.0 de la plateforme Java 2 Standard edition, JMX est entièrement intégré dans l’API, et un outil qui s’appelle JConsole est fournit avec le JDK, il permet de gérer des MBeans dans des processus locaux, ou distants en utilisant un connecteur RMI. Nous allons montrer pas-à-pas comment se fait l’administration d’une ressource grace à l’outil JConsole. on a le MBean suivant : package org.sdf; &#160; public interface HelloMBean { &#160; &#160; &#160; [&#8230;]]]></description>
				<content:encoded><![CDATA[<p>Depuis la version 5.0 de la plateforme Java 2 Standard edition, JMX est entièrement intégré dans l’API, et un outil qui s’appelle JConsole est fournit avec le JDK, il permet de gérer des MBeans dans des processus locaux, ou distants en utilisant un connecteur RMI.</p>
<p>Nous allons montrer pas-à-pas comment se fait l’administration d’une ressource grace à l’outil JConsole.</p>
<p><span id="more-1"></span></p>
<p>on a le MBean suivant :</p>
<div class="codecolorer-container text default" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><div class="text codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap">package org.sdf; <br />
&nbsp;<br />
public interface HelloMBean { <br />
&nbsp; <br />
&nbsp; &nbsp; public void sayHello(); <br />
&nbsp; &nbsp; public int add(int x, int y); <br />
&nbsp;<br />
&nbsp;<br />
&nbsp; &nbsp; public String getHelloWord(); <br />
&nbsp; &nbsp; public void setHelloWord(String value); <br />
&nbsp;<br />
&nbsp;<br />
}</div></div>
<p>Et le code de la classe implémentant l&rsquo;interface MBean.</p>
<div class="codecolorer-container text default" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;height:300px;"><div class="text codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap">package org.sdf; <br />
&nbsp;<br />
public class Hello implements HelloMBean { <br />
&nbsp;<br />
&nbsp; private String helloWord; <br />
&nbsp;<br />
&nbsp; public int add(int x, int y) { <br />
&nbsp; &nbsp; return x + y; <br />
&nbsp; } <br />
&nbsp;<br />
&nbsp; public String getHelloWord() { <br />
&nbsp; &nbsp; return helloWord; <br />
&nbsp; } <br />
&nbsp;<br />
&nbsp; public void sayHello() { <br />
&nbsp; &nbsp; System.out.println(helloWord); <br />
&nbsp; } <br />
&nbsp;<br />
&nbsp; public void setHelloWord(String value) { <br />
&nbsp; &nbsp; helloWord = value; <br />
&nbsp;<br />
&nbsp; } <br />
&nbsp;<br />
}</div></div>
<p>voici le programme permettant d&rsquo;enregistrer le MBean dans un MBeanServer et de creer un connecteur pour pouvoir l&rsquo;adminstrer avec JConsole</p>
<div class="codecolorer-container text default" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;height:300px;"><div class="text codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap">public static void main(String[] args) { <br />
&nbsp; &nbsp; try { <br />
&nbsp; &nbsp; &nbsp; Hello h = new Hello(); <br />
&nbsp; &nbsp; &nbsp; h.setHelloWord(&quot;Bonjour&quot;); <br />
&nbsp; &nbsp; &nbsp; LocateRegistry.createRegistry(9999); <br />
&nbsp; &nbsp; &nbsp; &nbsp; MBeanServer mbs = ManagementFactory.getPlatformMBeanServer(); <br />
&nbsp; &nbsp; &nbsp; ObjectName name = new ObjectName(&quot;Hello:type=HelloObject&quot;); <br />
&nbsp; &nbsp; &nbsp; mbs.registerMBean(h, name); <br />
&nbsp; &nbsp; &nbsp; JMXServiceURL url = new JMXServiceURL( <br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &quot;service:jmx:rmi:///jndi/rmi://localhost:9999/server&quot;); <br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; JMXConnectorServer cs = <br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; JMXConnectorServerFactory.newJMXConnectorServer(url, null, mbs); <br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; cs.start(); <br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <br />
&nbsp; &nbsp; &nbsp; <br />
&nbsp; &nbsp; } catch (Exception e) { <br />
&nbsp; &nbsp; &nbsp; // TODO Auto-generated catch block <br />
&nbsp; &nbsp; &nbsp; e.printStackTrace(); <br />
&nbsp; &nbsp; } <br />
&nbsp;<br />
&nbsp; }</div></div>
<p>On peut se connecter soit à un processus java locale en cours d’exécution, soit en fournissant une URL d’accès à un processus distant, dans le cas de cet exemple démonstratif on se connecte a un processus locale a l’aide d’une URL.</p>
<p><img src="http://blog.developpez.com/media/1.PNG" width="407" height="427" alt="" /></p>
<p>Une fois la connexion établit, dans l’onglet MBeans de JConsole, on trouve touts les MBeans enregistrés sur le serveur auquel on s’est connecté dans notre cas, on trouve HelloObject.</p>
<p><img src="http://blog.developpez.com/media/2.PNG" width="360" height="240" alt="" /></p>
<p>Une fois le MBean localisé, on peut accéder a ses attributs et éventuellement les changer s’il ne sont pas read-only, dans l’exemple démonstratif le MBean HelloObject a un attribut qui se nomme HelloWord qui a comme valeur « Bonjour ».</p>
<p><img src="http://blog.developpez.com/media/3.PNG" width="364" height="232" alt="" /></p>
<p>On peut également appeler les opérations que fournit un MBean, dans l’exemple démonstratif, on appelle la méthode add avec comme paramètres 5 et 6, elle retourne la valeur 11.</p>
<p><img src="http://blog.developpez.com/media/4.PNG" width="524" height="316" alt="" /></p>
<p>Voila! j&rsquo;espere avoir été assez clair :P, pour vous familiariser avec JMX et les MBeans je vous conseille l&rsquo;excellement tutoriel de chez sun <a href="http://java.sun.com/docs/books/tutorial/jmx/mbeans/standard.html">ici</a></p>
<p>ceci est mon tout premier billet, n&rsquo;hésitez pas a critiquez et commenter.</p>
]]></content:encoded>
			<wfw:commentRss></wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
