<?xml version="1.0" encoding="utf-8"?>
<feed xmlns="http://www.w3.org/2005/Atom">
	<id>tag:old.nabble.com,2006:forum-13428</id>
	<title>Nabble - Sun - Jmx-Forum</title>
	<updated>2009-08-06T17:26:21Z</updated>
	<link rel="self" type="application/atom+xml" href="http://old.nabble.com/Sun---Jmx-Forum-f13428.xml" />
	<link rel="alternate" type="text/html" href="http://old.nabble.com/Sun---Jmx-Forum-f13428.html" />
	<subtitle type="html">Java Management extensions (JMX) discussion list (was JMAPI-FORUM list)</subtitle>
	
<entry>
	<id>tag:old.nabble.com,2006:post-24856881</id>
	<title>Re: Visual VM</title>
	<published>2009-08-06T17:26:21Z</published>
	<updated>2009-08-06T17:26:21Z</updated>
	<author>
		<name>leehyori87</name>
	</author>
	<content type="html">&lt;br&gt;&lt;quote author=&quot;leehyori87&quot;&gt;&lt;br&gt;thankyou for your informative post
&lt;br&gt;&lt;br&gt;[url=&lt;a href=&quot;http://creditimmobilierdefrance.org/&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://creditimmobilierdefrance.org/&lt;/a&gt;][color=#FFFFFF][u]simulation taux banque credit immobilier de France[/u][/url][/color][color=#FFFFFF] - Credit immobilier de France, simulation credit immobilier. Résultat mitigé pour le crédit immobilier de France.[/color][url=&lt;a href=&quot;http://creditimmobilierdefrance.org/&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://creditimmobilierdefrance.org/&lt;/a&gt;][color=#FFFFFF][u]simulation taux banque credit immobilier de France[/u][/url][/color] &amp;nbsp; 
&lt;br&gt;&lt;br&gt;&lt;blockquote class=&quot;quote light-black dark-border-color&quot;&gt;&lt;div class=&quot;quote light-border-color&quot;&gt;
&lt;div class=&quot;quote-author&quot; style=&quot;font-weight: bold;&quot;&gt;Jess Holle wrote:&lt;/div&gt;
&lt;div class=&quot;quote-message shrinkable-quote&quot;&gt;At JavaOne, there was a fabulous little BOF on an all-in-one open-source
&lt;br&gt;management and monitoring tool, a &amp;quot;Visual VM&amp;quot; project, that was
&lt;br&gt;purported to be slated to become a java.net project soon.
&lt;br&gt;&lt;br&gt;I know some of those involved follow this mailing list. &amp;nbsp;I was wondering
&lt;br&gt;if anything is happening with this project any time soon.
&lt;br&gt;&lt;br&gt;--
&lt;br&gt;Jess Holle
&lt;br&gt;&lt;br&gt;===========================================================================
&lt;br&gt;For information on the Java Management extensions (JMX), please visit
&lt;br&gt;our home page at &lt;a href=&quot;http://java.sun.com/products/JavaManagement/&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://java.sun.com/products/JavaManagement/&lt;/a&gt;&lt;br&gt;The JMX-FORUM archives are accessible at &lt;a href=&quot;http://archives.java.sun.com&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://archives.java.sun.com&lt;/a&gt;&lt;br&gt;To unsubscribe, send email to listserv@java.sun.com and include in the body
&lt;br&gt;of the message &amp;quot;signoff JMX-FORUM&amp;quot;. &amp;nbsp;For general help, send email to
&lt;br&gt;listserv@java.sun.com and include in the body of the message &amp;quot;help&amp;quot;.
&lt;/div&gt;
&lt;/div&gt;&lt;/blockquote&gt;
&lt;/quote&gt;&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/Visual-VM-tp10862685p24856881.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-24786517</id>
	<title>Re: Visual VM</title>
	<published>2009-08-03T00:31:25Z</published>
	<updated>2009-08-03T00:31:25Z</updated>
	<author>
		<name>leehyori87</name>
	</author>
	<content type="html">thankyou for your informative post
&lt;br&gt;&lt;br&gt;[url=&lt;a href=&quot;http://creditimmobilierdefrance.org/&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://creditimmobilierdefrance.org/&lt;/a&gt;][color=#FFFFFF][u]simulation taux banque credit immobilier de France[/u][/url][/color][color=#FFFFFF] - Credit immobilier de France, simulation credit immobilier. Résultat mitigé pour le crédit immobilier de France.[/color][url=&lt;a href=&quot;http://creditimmobilierdefrance.org/&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://creditimmobilierdefrance.org/&lt;/a&gt;][color=#FFFFFF][u]simulation taux banque credit immobilier de France[/u][/url][/color] &amp;nbsp; 
&lt;br&gt;&lt;br&gt;&lt;blockquote class=&quot;quote light-black dark-border-color&quot;&gt;&lt;div class=&quot;quote light-border-color&quot;&gt;
&lt;div class=&quot;quote-author&quot; style=&quot;font-weight: bold;&quot;&gt;Jess Holle wrote:&lt;/div&gt;
&lt;div class=&quot;quote-message shrinkable-quote&quot;&gt;At JavaOne, there was a fabulous little BOF on an all-in-one open-source
&lt;br&gt;management and monitoring tool, a &amp;quot;Visual VM&amp;quot; project, that was
&lt;br&gt;purported to be slated to become a java.net project soon.
&lt;br&gt;&lt;br&gt;I know some of those involved follow this mailing list. &amp;nbsp;I was wondering
&lt;br&gt;if anything is happening with this project any time soon.
&lt;br&gt;&lt;br&gt;--
&lt;br&gt;Jess Holle
&lt;br&gt;&lt;br&gt;===========================================================================
&lt;br&gt;For information on the Java Management extensions (JMX), please visit
&lt;br&gt;our home page at &lt;a href=&quot;http://java.sun.com/products/JavaManagement/&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://java.sun.com/products/JavaManagement/&lt;/a&gt;&lt;br&gt;The JMX-FORUM archives are accessible at &lt;a href=&quot;http://archives.java.sun.com&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://archives.java.sun.com&lt;/a&gt;&lt;br&gt;To unsubscribe, send email to listserv@java.sun.com and include in the body
&lt;br&gt;of the message &amp;quot;signoff JMX-FORUM&amp;quot;. &amp;nbsp;For general help, send email to
&lt;br&gt;listserv@java.sun.com and include in the body of the message &amp;quot;help&amp;quot;.
&lt;/div&gt;
&lt;/div&gt;&lt;/blockquote&gt;
</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/Visual-VM-tp10862685p24786517.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-19737339</id>
	<title>Training &amp; jobs</title>
	<published>2008-09-30T00:23:39Z</published>
	<updated>2008-09-30T00:23:39Z</updated>
	<author>
		<name>KiranGupta</name>
	</author>
	<content type="html">“Join us to make future”
&lt;br&gt;FOR OPT/F-1 STUDENTS
&lt;br&gt;FREE TRAINING 
&lt;br&gt;FOOD ACCOMODATION 
&lt;br&gt;H1B PROCESSING 	FOR L1/ L2/ H1/ H4/ EAD/ GC 
&lt;br&gt;EXCELLENT OPPRTUNITIES 
&lt;br&gt;TRAINING 
&lt;br&gt;PLACEMENT 
&lt;br&gt;Highly Competitive offers for New H1b Transfers
&lt;br&gt;About Us:
&lt;br&gt;V2 technology inc is serving NJ since 2005, for us our employees are of utmost importance. Our highly skilled and dedicated instructors train you explicitly in market-related technologies for today and tomorrow. We will work with you in developing marketing strategies and finding the assignments of your choice.
&lt;br&gt;We not only help you get a job but we build your long lasting careers!!! 
&lt;br&gt;What are we Looking for:
&lt;br&gt;Excellent communication skills. 
&lt;br&gt;Valid F1/ OPT/ CPT/ H1/ H4/ L1 or valid work status (EAD, GC). 
&lt;br&gt;Bachelors’ degree in CS/ IT or previous IT experience. 
&lt;br&gt;Preferably (not mandatory) Master's Degree in Computers/ Electronics or previous IT experience. 
&lt;br&gt;Willing to relocate anywhere in USA. 
&lt;br&gt;What’s The Deal: 
&lt;br&gt;H1-B sponsorship to F1/ OPT/ H4/ L1/ L2/ E3/ EAD 
&lt;br&gt;Transfer of H1 &amp; L1 visas. 
&lt;br&gt;Green Card sponsorship through PERM 
&lt;br&gt;Job focused professional training in 
&lt;br&gt;Java/ J2EE 
&lt;br&gt;.NET 
&lt;br&gt;Documentum 
&lt;br&gt;Share point 
&lt;br&gt;Oracle 
&lt;br&gt;Data Modeling 
&lt;br&gt;Relocation assistance- airfare, hotel accommodation, car rental etc 
&lt;br&gt;Guarantee lowest bench period. 
&lt;br&gt;Employee referral program. 
&lt;br&gt;Effective Resume writing help, Marketing and Placement. 
&lt;br&gt;Technical mock interviews. Preparation of In Person Interviews 
&lt;br&gt;100% Guaranteed placement 
&lt;br&gt;Get in Touch:
&lt;br&gt;Contact immediately to know more about the opportunities with us at:609-843-0312 
&lt;br&gt;or 		
&lt;br&gt;write mail at jobs@v2techinc.com
&lt;br&gt;Contact person : John
&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/Training---jobs-tp19737339p19737339.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-13441952</id>
	<title>JMX-FORUM is being discontinued</title>
	<published>2007-10-27T04:40:53Z</published>
	<updated>2007-10-27T04:40:53Z</updated>
	<author>
		<name>eamonn.mcmanus</name>
	</author>
	<content type="html">Dear JMX-FORUM subscribers,
&lt;br&gt;&lt;br&gt;You might have noticed that this list has been rather quiet recently. &amp;nbsp;There
&lt;br&gt;are several reasons for that. &amp;nbsp;One is that most new users find the JMX forum
&lt;br&gt;on SDN first. &amp;nbsp;Another is that the answers to many questions are easily
&lt;br&gt;found on the web, through the many articles and blogs about JMX technology.
&lt;br&gt;&amp;nbsp;And a third is that the LISTSERV infrastructure that drives this mailing
&lt;br&gt;list is no longer being maintained.
&lt;br&gt;&lt;br&gt;Rather than let this list stagger on, we think the time has come to let it
&lt;br&gt;end with dignity. &amp;nbsp;I am proposing to turn this list off a week from today.
&lt;br&gt;The list archives will continue to be available.
&lt;br&gt;&lt;br&gt;Future questions and discussions about JMX should be addressed to one of the
&lt;br&gt;following places:
&lt;br&gt;&lt;br&gt;* &amp;nbsp;For general questions and discussions, the JMX forum on the Sun Developer
&lt;br&gt;Network: &amp;lt;&lt;a href=&quot;http://forum.java.sun.com/forum.jspa?forumID=537&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://forum.java.sun.com/forum.jspa?forumID=537&lt;/a&gt;&amp;gt;. &amp;nbsp;You can
&lt;br&gt;receive mail notification of new posts to this forum using the &amp;quot;Watch this
&lt;br&gt;forum&amp;quot; link.
&lt;br&gt;&lt;br&gt;* For feedback about the JMX specifications: &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=13441952&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;jmx-spec-comments@...&lt;/a&gt;
&lt;br&gt;&lt;br&gt;* For discussion about the JMX implementation in OpenJDK:
&lt;br&gt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=13441952&amp;i=1&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;jmx-dev@...&lt;/a&gt;
&lt;br&gt;&lt;br&gt;* Daniel Fuchs has a blog entry that summarizes these and many other
&lt;br&gt;resources: &amp;lt;&lt;a href=&quot;http://blogs.sun.com/jmxetc/entry/where_can_i_get_my&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://blogs.sun.com/jmxetc/entry/where_can_i_get_my&lt;/a&gt;&amp;gt;
&lt;br&gt;&lt;br&gt;Thanks to everybody who contributed to this mailing list over the years!
&lt;br&gt;&lt;br&gt;Éamonn McManus &amp;nbsp;-- &amp;nbsp;JMX Spec Lead &amp;nbsp;-- &amp;nbsp;&lt;a href=&quot;http://weblogs.java.net/blog/emcmanus&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://weblogs.java.net/blog/emcmanus&lt;/a&gt;&lt;br&gt;&lt;br&gt;===========================================================================
&lt;br&gt;For information on the Java Management extensions (JMX), please visit
&lt;br&gt;our home page at &lt;a href=&quot;http://java.sun.com/products/JavaManagement/&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://java.sun.com/products/JavaManagement/&lt;/a&gt;&lt;br&gt;The JMX-FORUM archives are accessible at &lt;a href=&quot;http://archives.java.sun.com&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://archives.java.sun.com&lt;/a&gt;&lt;br&gt;To unsubscribe, send email to &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=13441952&amp;i=2&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;listserv@...&lt;/a&gt; and include in the body
&lt;br&gt;of the message &amp;quot;signoff JMX-FORUM&amp;quot;. &amp;nbsp;For general help, send email to
&lt;br&gt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=13441952&amp;i=3&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;listserv@...&lt;/a&gt; and include in the body of the message &amp;quot;help&amp;quot;.
&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/JMX-FORUM-is-being-discontinued-tp13441952p13441952.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-12796681</id>
	<title>Re: JMX Agent with firewall</title>
	<published>2007-09-20T06:58:10Z</published>
	<updated>2007-09-20T06:58:10Z</updated>
	<author>
		<name>Jess Holle</name>
	</author>
	<content type="html">Of course that assumes you can poke a hole in your firewall and specify
&lt;br&gt;a pre-main.
&lt;br&gt;&lt;br&gt;An alternative is to have an reverse proxy JMX connector that does
&lt;br&gt;general JMX on the back end and transports over HTTP(S) on the front
&lt;br&gt;end. &amp;nbsp;I wrote one, but the company owns it -- sorry.
&lt;br&gt;&lt;br&gt;Another alternative would be the JMX web connector, but that really
&lt;br&gt;needs JMX 2's cascading to be as useful in my opinion.
&lt;br&gt;&lt;br&gt;--
&lt;br&gt;Jess Holle
&lt;br&gt;&lt;br&gt;Daniel FUCHS wrote:
&lt;div class='shrinkable-quote'&gt;&lt;br&gt;&amp;gt; Hi,
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; Please see here:
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; &lt;a href=&quot;http://blogs.sun.com/jmxetc/entry/connecting_through_firewall_using_jmx&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://blogs.sun.com/jmxetc/entry/connecting_through_firewall_using_jmx&lt;/a&gt;&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; Hope this helps,
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; -- daniel
&lt;br&gt;&amp;gt; JMX, SNMP, Java, etc...
&lt;br&gt;&amp;gt; &lt;a href=&quot;http://blogs.sun.com/jmxetc&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://blogs.sun.com/jmxetc&lt;/a&gt;&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; ===========================================================================
&lt;br&gt;&amp;gt; For information on the Java Management extensions (JMX), please visit
&lt;br&gt;&amp;gt; our home page at &lt;a href=&quot;http://java.sun.com/products/JavaManagement/&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://java.sun.com/products/JavaManagement/&lt;/a&gt;&lt;br&gt;&amp;gt; The JMX-FORUM archives are accessible at &lt;a href=&quot;http://archives.java.sun.com&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://archives.java.sun.com&lt;/a&gt;&lt;br&gt;&amp;gt; To unsubscribe, send email to &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=12796681&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;listserv@...&lt;/a&gt; and include in the body
&lt;br&gt;&amp;gt; of the message &amp;quot;signoff JMX-FORUM&amp;quot;. &amp;nbsp;For general help, send email to
&lt;br&gt;&amp;gt; &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=12796681&amp;i=1&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;listserv@...&lt;/a&gt; and include in the body of the message &amp;quot;help&amp;quot;.
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt;
&lt;/div&gt;&lt;br&gt;===========================================================================
&lt;br&gt;For information on the Java Management extensions (JMX), please visit
&lt;br&gt;our home page at &lt;a href=&quot;http://java.sun.com/products/JavaManagement/&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://java.sun.com/products/JavaManagement/&lt;/a&gt;&lt;br&gt;The JMX-FORUM archives are accessible at &lt;a href=&quot;http://archives.java.sun.com&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://archives.java.sun.com&lt;/a&gt;&lt;br&gt;To unsubscribe, send email to &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=12796681&amp;i=2&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;listserv@...&lt;/a&gt; and include in the body
&lt;br&gt;of the message &amp;quot;signoff JMX-FORUM&amp;quot;. &amp;nbsp;For general help, send email to
&lt;br&gt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=12796681&amp;i=3&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;listserv@...&lt;/a&gt; and include in the body of the message &amp;quot;help&amp;quot;.
&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/JMX-Agent-with-firewall-tp12792352p12796681.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-12794535</id>
	<title>Re: JMX Agent with firewall</title>
	<published>2007-09-20T04:16:37Z</published>
	<updated>2007-09-20T04:16:37Z</updated>
	<author>
		<name>daniel.fuchs</name>
	</author>
	<content type="html">Hi,
&lt;br&gt;&lt;br&gt;Please see here:
&lt;br&gt;&lt;br&gt;&lt;a href=&quot;http://blogs.sun.com/jmxetc/entry/connecting_through_firewall_using_jmx&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://blogs.sun.com/jmxetc/entry/connecting_through_firewall_using_jmx&lt;/a&gt;&lt;br&gt;&lt;br&gt;Hope this helps,
&lt;br&gt;&lt;br&gt;-- daniel
&lt;br&gt;JMX, SNMP, Java, etc...
&lt;br&gt;&lt;a href=&quot;http://blogs.sun.com/jmxetc&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://blogs.sun.com/jmxetc&lt;/a&gt;&lt;br&gt;&lt;br&gt;===========================================================================
&lt;br&gt;For information on the Java Management extensions (JMX), please visit
&lt;br&gt;our home page at &lt;a href=&quot;http://java.sun.com/products/JavaManagement/&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://java.sun.com/products/JavaManagement/&lt;/a&gt;&lt;br&gt;The JMX-FORUM archives are accessible at &lt;a href=&quot;http://archives.java.sun.com&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://archives.java.sun.com&lt;/a&gt;&lt;br&gt;To unsubscribe, send email to &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=12794535&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;listserv@...&lt;/a&gt; and include in the body
&lt;br&gt;of the message &amp;quot;signoff JMX-FORUM&amp;quot;. &amp;nbsp;For general help, send email to
&lt;br&gt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=12794535&amp;i=1&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;listserv@...&lt;/a&gt; and include in the body of the message &amp;quot;help&amp;quot;.
&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/JMX-Agent-with-firewall-tp12792352p12794535.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-12792352</id>
	<title>JMX Agent with firewall</title>
	<published>2007-09-20T01:38:57Z</published>
	<updated>2007-09-20T01:38:57Z</updated>
	<author>
		<name>Jagannath</name>
	</author>
	<content type="html">Hi,
&lt;br&gt;&lt;br&gt;I have a Java Application that I have JMX enabled using the Java runtime
&lt;br&gt;options -Dcom.sun.management.jmxremote ... I connect to this JMX agent
&lt;br&gt;from a remote Java client. My problem is when there is a firewall
&lt;br&gt;between agent and client I am unable to connect to the agent. As there
&lt;br&gt;are random ports opened for communication I cannot configure my firewall
&lt;br&gt;appropriately.
&lt;br&gt;&lt;br&gt;Is there a way I can specify what ports to be used for communication on
&lt;br&gt;the agent side? Is there a runtime option available for this?
&lt;br&gt;&lt;br&gt;&amp;nbsp;From the client I believe I can provide the port while creating the JMX
&lt;br&gt;Service URL.
&lt;br&gt;&lt;br&gt;Regards,
&lt;br&gt;Jagannath
&lt;br&gt;&lt;br&gt;===========================================================================
&lt;br&gt;For information on the Java Management extensions (JMX), please visit
&lt;br&gt;our home page at &lt;a href=&quot;http://java.sun.com/products/JavaManagement/&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://java.sun.com/products/JavaManagement/&lt;/a&gt;&lt;br&gt;The JMX-FORUM archives are accessible at &lt;a href=&quot;http://archives.java.sun.com&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://archives.java.sun.com&lt;/a&gt;&lt;br&gt;To unsubscribe, send email to &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=12792352&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;listserv@...&lt;/a&gt; and include in the body
&lt;br&gt;of the message &amp;quot;signoff JMX-FORUM&amp;quot;. &amp;nbsp;For general help, send email to
&lt;br&gt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=12792352&amp;i=1&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;listserv@...&lt;/a&gt; and include in the body of the message &amp;quot;help&amp;quot;.
&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/JMX-Agent-with-firewall-tp12792352p12792352.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-11694908</id>
	<title>Re: Accurate CPU timing on Windows -- How?</title>
	<published>2007-07-19T12:17:09Z</published>
	<updated>2007-07-19T12:17:09Z</updated>
	<author>
		<name>Jess Holle</name>
	</author>
	<content type="html">Eamonn McManus wrote:
&lt;br&gt;&amp;gt; Luis-Miguel Alventosa reminded me that though the implementation class is
&lt;br&gt;&amp;gt; not public, the com.sun.management.OperatingSystemMXBean interface that it
&lt;br&gt;&amp;gt; implements is. &amp;nbsp;So you can just cast the result of
&lt;br&gt;&amp;gt; ManagementFactory.getOperatingSystemMXBean() to that interface and access
&lt;br&gt;&amp;gt; its getProcessCpuTime() method, or do the same thing via reflection.
&lt;br&gt;&amp;gt;
&lt;br&gt;Thanks for the pointer!
&lt;br&gt;&lt;br&gt;--
&lt;br&gt;Jess Holle
&lt;br&gt;&lt;br&gt;===========================================================================
&lt;br&gt;For information on the Java Management extensions (JMX), please visit
&lt;br&gt;our home page at &lt;a href=&quot;http://java.sun.com/products/JavaManagement/&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://java.sun.com/products/JavaManagement/&lt;/a&gt;&lt;br&gt;The JMX-FORUM archives are accessible at &lt;a href=&quot;http://archives.java.sun.com&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://archives.java.sun.com&lt;/a&gt;&lt;br&gt;To unsubscribe, send email to &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=11694908&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;listserv@...&lt;/a&gt; and include in the body
&lt;br&gt;of the message &amp;quot;signoff JMX-FORUM&amp;quot;. &amp;nbsp;For general help, send email to
&lt;br&gt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=11694908&amp;i=1&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;listserv@...&lt;/a&gt; and include in the body of the message &amp;quot;help&amp;quot;.
&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/Accurate-CPU-timing-on-Windows----How--tp11677418p11694908.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-11693543</id>
	<title>Re: Accurate CPU timing on Windows -- How?</title>
	<published>2007-07-19T10:53:05Z</published>
	<updated>2007-07-19T10:53:05Z</updated>
	<author>
		<name>eamonn.mcmanus</name>
	</author>
	<content type="html">Jess,
&lt;br&gt;&lt;br&gt;&amp;gt;&amp;gt; Regarding your observation
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; There is no more efficient way to get at the Sun-specific OS MBean
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; attribute, &amp;quot;ProcessCpuTime&amp;quot;, than
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; PLATFORM_MBEAN_SERVER.getAttribute( OS_MBEAN_NAME,
&lt;br&gt;&amp;quot;ProcessCpuTime&amp;quot; )
&lt;div class='shrinkable-quote'&gt;&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; &amp;nbsp; &amp;nbsp; which is not very efficient at all.
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; It would be nice if the implementation class was public so one could look up
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; the method via reflection at static init time and then directly invoke the
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; method object.
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt; Point taken. &amp;nbsp;But if you have permission to call method.setAccessible(true)
&lt;br&gt;&amp;gt;&amp;gt; then you can access the method by reflection today.
&lt;br&gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt; I thought about doing that, but this crossed some &amp;quot;skankiness&amp;quot; line for
&lt;br&gt;&amp;gt; me. &amp;nbsp;Instead I just decided to avoid collecting this data by default --
&lt;br&gt;&amp;gt; and expose a attribute on my MBeans as to whether they collect this
&lt;br&gt;&amp;gt; statistic.
&lt;/div&gt;&lt;br&gt;Luis-Miguel Alventosa reminded me that though the implementation class is
&lt;br&gt;not public, the com.sun.management.OperatingSystemMXBean interface that it
&lt;br&gt;implements is. &amp;nbsp;So you can just cast the result of
&lt;br&gt;ManagementFactory.getOperatingSystemMXBean() to that interface and access
&lt;br&gt;its getProcessCpuTime() method, or do the same thing via reflection.
&lt;br&gt;&lt;br&gt;Regards,
&lt;br&gt;Éamonn McManus &amp;nbsp;-- &amp;nbsp;JMX Spec Lead &amp;nbsp;-- &amp;nbsp;&lt;a href=&quot;http://weblogs.java.net/blog/emcmanus&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://weblogs.java.net/blog/emcmanus&lt;/a&gt;&lt;br&gt;&lt;br&gt;===========================================================================
&lt;br&gt;For information on the Java Management extensions (JMX), please visit
&lt;br&gt;our home page at &lt;a href=&quot;http://java.sun.com/products/JavaManagement/&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://java.sun.com/products/JavaManagement/&lt;/a&gt;&lt;br&gt;The JMX-FORUM archives are accessible at &lt;a href=&quot;http://archives.java.sun.com&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://archives.java.sun.com&lt;/a&gt;&lt;br&gt;To unsubscribe, send email to &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=11693543&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;listserv@...&lt;/a&gt; and include in the body
&lt;br&gt;of the message &amp;quot;signoff JMX-FORUM&amp;quot;. &amp;nbsp;For general help, send email to
&lt;br&gt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=11693543&amp;i=1&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;listserv@...&lt;/a&gt; and include in the body of the message &amp;quot;help&amp;quot;.
&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/Accurate-CPU-timing-on-Windows----How--tp11677418p11693543.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-11689333</id>
	<title>Re: Accurate CPU timing on Windows -- How?</title>
	<published>2007-07-19T07:27:51Z</published>
	<updated>2007-07-19T07:27:51Z</updated>
	<author>
		<name>Jess Holle</name>
	</author>
	<content type="html">Eamonn McManus wrote:
&lt;div class='shrinkable-quote'&gt;&lt;br&gt;&amp;gt; Jess,
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; I don't know the answer to your question about
&lt;br&gt;&amp;gt; ThreadMXBean.getCurrentThreadCpuTime(), but I've forwarded it to some people
&lt;br&gt;&amp;gt; who might.
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; Regarding your observation
&lt;br&gt;&amp;gt;&amp;gt; There is no more efficient way to get at the Sun-specific OS MBean
&lt;br&gt;&amp;gt;&amp;gt; attribute, &amp;quot;ProcessCpuTime&amp;quot;, than
&lt;br&gt;&amp;gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; PLATFORM_MBEAN_SERVER.getAttribute( OS_MBEAN_NAME, &amp;quot;ProcessCpuTime&amp;quot; )
&lt;br&gt;&amp;gt;&amp;gt; &amp;nbsp; &amp;nbsp; which is not very efficient at all.
&lt;br&gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt; It would be nice if the implementation class was public so one could look up
&lt;br&gt;&amp;gt;&amp;gt; the method via reflection at static init time and then directly invoke the
&lt;br&gt;&amp;gt;&amp;gt; method object.
&lt;br&gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt; Point taken. &amp;nbsp;But if you have permission to call method.setAccessible(true)
&lt;br&gt;&amp;gt; then you can access the method by reflection today.
&lt;br&gt;&amp;gt;
&lt;/div&gt;I thought about doing that, but this crossed some &amp;quot;skankiness&amp;quot; line for
&lt;br&gt;me. &amp;nbsp;Instead I just decided to avoid collecting this data by default --
&lt;br&gt;and expose a attribute on my MBeans as to whether they collect this
&lt;br&gt;statistic.
&lt;br&gt;&amp;gt; Concerning the question of currentTimeMillis() vs nanoTime(), apart from the
&lt;br&gt;&amp;gt; precision the methods also differ in their semantics. &amp;nbsp;In particular, if the
&lt;br&gt;&amp;gt; system time is adjusted (by the administrator or by NTP, for example),
&lt;br&gt;&amp;gt; currentTimeMillis() will reflect the change. &amp;nbsp;But nanoTime() is independent
&lt;br&gt;&amp;gt; of the system time, so it is more appropriate for timings.
&lt;br&gt;&amp;gt;
&lt;br&gt;Ah... &amp;nbsp;Yes, that is worth noting. &amp;nbsp;I should have had more such
&lt;br&gt;discussions some time back apparently as I am using currentTimeMillis()
&lt;br&gt;since it seemed accurate enough at the time and nanoTime() took a bit
&lt;br&gt;longer to collect..
&lt;br&gt;&lt;br&gt;--
&lt;br&gt;Jess Holle
&lt;br&gt;&lt;br&gt;===========================================================================
&lt;br&gt;For information on the Java Management extensions (JMX), please visit
&lt;br&gt;our home page at &lt;a href=&quot;http://java.sun.com/products/JavaManagement/&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://java.sun.com/products/JavaManagement/&lt;/a&gt;&lt;br&gt;The JMX-FORUM archives are accessible at &lt;a href=&quot;http://archives.java.sun.com&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://archives.java.sun.com&lt;/a&gt;&lt;br&gt;To unsubscribe, send email to &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=11689333&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;listserv@...&lt;/a&gt; and include in the body
&lt;br&gt;of the message &amp;quot;signoff JMX-FORUM&amp;quot;. &amp;nbsp;For general help, send email to
&lt;br&gt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=11689333&amp;i=1&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;listserv@...&lt;/a&gt; and include in the body of the message &amp;quot;help&amp;quot;.
&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/Accurate-CPU-timing-on-Windows----How--tp11677418p11689333.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-11689216</id>
	<title>Re: Accurate CPU timing on Windows -- How?</title>
	<published>2007-07-19T07:13:37Z</published>
	<updated>2007-07-19T07:13:37Z</updated>
	<author>
		<name>eamonn.mcmanus</name>
	</author>
	<content type="html">Jess,
&lt;br&gt;&lt;br&gt;I don't know the answer to your question about
&lt;br&gt;ThreadMXBean.getCurrentThreadCpuTime(), but I've forwarded it to some people
&lt;br&gt;who might.
&lt;br&gt;&lt;br&gt;Regarding your observation:
&lt;br&gt;&lt;br&gt;&amp;gt; There is no more efficient way to get at the Sun-specific OS MBean
&lt;br&gt;&amp;gt; attribute, &amp;quot;ProcessCpuTime&amp;quot;, than
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; PLATFORM_MBEAN_SERVER.getAttribute( OS_MBEAN_NAME, &amp;quot;ProcessCpuTime&amp;quot; )
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; which is not very efficient at all.
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; It would be nice if the implementation class was public so one could look up
&lt;br&gt;&amp;gt; the method via reflection at static init time and then directly invoke the
&lt;br&gt;&amp;gt; method object.
&lt;br&gt;&lt;br&gt;Point taken. &amp;nbsp;But if you have permission to call method.setAccessible(true)
&lt;br&gt;then you can access the method by reflection today.
&lt;br&gt;&lt;br&gt;Concerning the question of currentTimeMillis() vs nanoTime(), apart from the
&lt;br&gt;precision the methods also differ in their semantics. &amp;nbsp;In particular, if the
&lt;br&gt;system time is adjusted (by the administrator or by NTP, for example),
&lt;br&gt;currentTimeMillis() will reflect the change. &amp;nbsp;But nanoTime() is independent
&lt;br&gt;of the system time, so it is more appropriate for timings.
&lt;br&gt;&lt;br&gt;Regards,
&lt;br&gt;Éamonn McManus &amp;nbsp;-- &amp;nbsp;JMX Spec Lead &amp;nbsp;-- &amp;nbsp;&lt;a href=&quot;http://weblogs.java.net/blog/emcmanus&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://weblogs.java.net/blog/emcmanus&lt;/a&gt;&lt;br&gt;&lt;br&gt;===========================================================================
&lt;br&gt;For information on the Java Management extensions (JMX), please visit
&lt;br&gt;our home page at &lt;a href=&quot;http://java.sun.com/products/JavaManagement/&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://java.sun.com/products/JavaManagement/&lt;/a&gt;&lt;br&gt;The JMX-FORUM archives are accessible at &lt;a href=&quot;http://archives.java.sun.com&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://archives.java.sun.com&lt;/a&gt;&lt;br&gt;To unsubscribe, send email to &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=11689216&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;listserv@...&lt;/a&gt; and include in the body
&lt;br&gt;of the message &amp;quot;signoff JMX-FORUM&amp;quot;. &amp;nbsp;For general help, send email to
&lt;br&gt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=11689216&amp;i=1&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;listserv@...&lt;/a&gt; and include in the body of the message &amp;quot;help&amp;quot;.
&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/Accurate-CPU-timing-on-Windows----How--tp11677418p11689216.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-11688252</id>
	<title>Re: Accurate CPU timing on Windows -- How?</title>
	<published>2007-07-19T06:43:21Z</published>
	<updated>2007-07-19T06:43:21Z</updated>
	<author>
		<name>Jess Holle</name>
	</author>
	<content type="html">Which all is off the main thrust of my original e-mail:
&lt;br&gt;&lt;br&gt;Is there any way to get more accurate thread CPU times? &amp;nbsp;ThreadMXBean is
&lt;br&gt;extraordinarily inaccurate in this regard!
&lt;br&gt;&lt;br&gt;--
&lt;br&gt;Jess Holle
&lt;br&gt;&lt;br&gt;Jess Holle wrote:
&lt;div class='shrinkable-quote'&gt;&lt;br&gt;&amp;gt; Michele Mazzucco wrote:
&lt;br&gt;&amp;gt;&amp;gt; Jess,
&lt;br&gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt; you didn't get my point. What I'm saying is that the values you get are
&lt;br&gt;&amp;gt;&amp;gt; not accurate.
&lt;br&gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt; &amp;gt;From the javadoc you can see:
&lt;br&gt;&amp;gt;&amp;gt; public static long currentTimeMillis()
&lt;br&gt;&amp;gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Returns the current time in milliseconds. *Note that while the
&lt;br&gt;&amp;gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; unit of time of the return value is a millisecond, the
&lt;br&gt;&amp;gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; granularity of the value depends on the underlying operating
&lt;br&gt;&amp;gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; system and may be larger*. For example, many operating systems
&lt;br&gt;&amp;gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; measure time in units of tens of milliseconds.
&lt;br&gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt; Returns the current value of the most precise available system timer, in
&lt;br&gt;&amp;gt;&amp;gt; nanoseconds.
&lt;br&gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt; This method can only be used to measure elapsed time and is not related
&lt;br&gt;&amp;gt;&amp;gt; to any other notion of system or wall-clock time. The value returned
&lt;br&gt;&amp;gt;&amp;gt; represents nanoseconds since some fixed but arbitrary time (perhaps in
&lt;br&gt;&amp;gt;&amp;gt; the future, so values may be negative). This method provides nanosecond
&lt;br&gt;&amp;gt;&amp;gt; precision, *but not necessarily nanosecond accuracy*. No guarantees are
&lt;br&gt;&amp;gt;&amp;gt; made about how frequently values change. Differences in successive calls
&lt;br&gt;&amp;gt;&amp;gt; that span greater than approximately 292 years (2^63 nanoseconds) will
&lt;br&gt;&amp;gt;&amp;gt; not accurately compute elapsed time due to numerical overflow.
&lt;br&gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt; Yes, but as per my previous point you can relate nanoTime() results to
&lt;br&gt;&amp;gt; wall clock time via some simple math on startup. &amp;nbsp;Thus the only reason
&lt;br&gt;&amp;gt; not to rework System.currentTimeMillis() to do so and guarantee
&lt;br&gt;&amp;gt; millisecond accuracy [barring a nanoTime() timer that is not even that
&lt;br&gt;&amp;gt; accurate] is if nanoTime() [plus the conversion necessary to relate to
&lt;br&gt;&amp;gt; wall clock time] is too expensive. &amp;nbsp;Otherwise
&lt;br&gt;&amp;gt; System.currentTimeMillis() should go the way of the dinosaur.
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; Unfortunately I had done some testing and found System.nanoTime() to
&lt;br&gt;&amp;gt; be significantly more expensive than System.currentTimeMillis() --
&lt;br&gt;&amp;gt; which leads to a tradeoff between great numbers and great speed. &amp;nbsp;To
&lt;br&gt;&amp;gt; date I'm going with speed, which I guess means it all comes down to a
&lt;br&gt;&amp;gt; choice between really inaccurate results and paying a bit more for
&lt;br&gt;&amp;gt; nanoTime() results.
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; --
&lt;br&gt;&amp;gt; Jess Holle
&lt;/div&gt;&lt;br&gt;===========================================================================
&lt;br&gt;For information on the Java Management extensions (JMX), please visit
&lt;br&gt;our home page at &lt;a href=&quot;http://java.sun.com/products/JavaManagement/&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://java.sun.com/products/JavaManagement/&lt;/a&gt;&lt;br&gt;The JMX-FORUM archives are accessible at &lt;a href=&quot;http://archives.java.sun.com&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://archives.java.sun.com&lt;/a&gt;&lt;br&gt;To unsubscribe, send email to &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=11688252&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;listserv@...&lt;/a&gt; and include in the body
&lt;br&gt;of the message &amp;quot;signoff JMX-FORUM&amp;quot;. &amp;nbsp;For general help, send email to
&lt;br&gt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=11688252&amp;i=1&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;listserv@...&lt;/a&gt; and include in the body of the message &amp;quot;help&amp;quot;.
&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/Accurate-CPU-timing-on-Windows----How--tp11677418p11688252.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-11688203</id>
	<title>Re: Accurate CPU timing on Windows -- How?</title>
	<published>2007-07-19T06:41:48Z</published>
	<updated>2007-07-19T06:41:48Z</updated>
	<author>
		<name>Jess Holle</name>
	</author>
	<content type="html">Michele Mazzucco wrote:
&lt;div class='shrinkable-quote'&gt;&lt;br&gt;&amp;gt; Jess,
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; you didn't get my point. What I'm saying is that the values you get are
&lt;br&gt;&amp;gt; not accurate.
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; &amp;gt;From the javadoc you can see:
&lt;br&gt;&amp;gt; public static long currentTimeMillis()
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Returns the current time in milliseconds. *Note that while the
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; unit of time of the return value is a millisecond, the
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; granularity of the value depends on the underlying operating
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; system and may be larger*. For example, many operating systems
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; measure time in units of tens of milliseconds.
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; Returns the current value of the most precise available system timer, in
&lt;br&gt;&amp;gt; nanoseconds.
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; This method can only be used to measure elapsed time and is not related
&lt;br&gt;&amp;gt; to any other notion of system or wall-clock time. The value returned
&lt;br&gt;&amp;gt; represents nanoseconds since some fixed but arbitrary time (perhaps in
&lt;br&gt;&amp;gt; the future, so values may be negative). This method provides nanosecond
&lt;br&gt;&amp;gt; precision, *but not necessarily nanosecond accuracy*. No guarantees are
&lt;br&gt;&amp;gt; made about how frequently values change. Differences in successive calls
&lt;br&gt;&amp;gt; that span greater than approximately 292 years (2^63 nanoseconds) will
&lt;br&gt;&amp;gt; not accurately compute elapsed time due to numerical overflow.
&lt;br&gt;&amp;gt;
&lt;/div&gt;Yes, but as per my previous point you can relate nanoTime() results to
&lt;br&gt;wall clock time via some simple math on startup. &amp;nbsp;Thus the only reason
&lt;br&gt;not to rework System.currentTimeMillis() to do so and guarantee
&lt;br&gt;millisecond accuracy [barring a nanoTime() timer that is not even that
&lt;br&gt;accurate] is if nanoTime() [plus the conversion necessary to relate to
&lt;br&gt;wall clock time] is too expensive. &amp;nbsp;Otherwise System.currentTimeMillis()
&lt;br&gt;should go the way of the dinosaur.
&lt;br&gt;&lt;br&gt;Unfortunately I had done some testing and found System.nanoTime() to be
&lt;br&gt;significantly more expensive than System.currentTimeMillis() -- which
&lt;br&gt;leads to a tradeoff between great numbers and great speed. &amp;nbsp;To date I'm
&lt;br&gt;going with speed, which I guess means it all comes down to a choice
&lt;br&gt;between really inaccurate results and paying a bit more for nanoTime()
&lt;br&gt;results.
&lt;br&gt;&lt;br&gt;--
&lt;br&gt;Jess Holle
&lt;br&gt;&lt;br&gt;===========================================================================
&lt;br&gt;For information on the Java Management extensions (JMX), please visit
&lt;br&gt;our home page at &lt;a href=&quot;http://java.sun.com/products/JavaManagement/&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://java.sun.com/products/JavaManagement/&lt;/a&gt;&lt;br&gt;The JMX-FORUM archives are accessible at &lt;a href=&quot;http://archives.java.sun.com&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://archives.java.sun.com&lt;/a&gt;&lt;br&gt;To unsubscribe, send email to &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=11688203&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;listserv@...&lt;/a&gt; and include in the body
&lt;br&gt;of the message &amp;quot;signoff JMX-FORUM&amp;quot;. &amp;nbsp;For general help, send email to
&lt;br&gt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=11688203&amp;i=1&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;listserv@...&lt;/a&gt; and include in the body of the message &amp;quot;help&amp;quot;.
&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/Accurate-CPU-timing-on-Windows----How--tp11677418p11688203.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-11687828</id>
	<title>Re: Accurate CPU timing on Windows -- How?</title>
	<published>2007-07-19T06:24:17Z</published>
	<updated>2007-07-19T06:24:17Z</updated>
	<author>
		<name>Michele Mazzucco-2</name>
	</author>
	<content type="html">Jess,
&lt;br&gt;&lt;br&gt;you didn't get my point. What I'm saying is that the values you get are
&lt;br&gt;not accurate.
&lt;br&gt;&lt;br&gt;&lt;br&gt;&amp;gt;From the javadoc you can see:
&lt;br&gt;public static long currentTimeMillis()
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Returns the current time in milliseconds. *Note that while the
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; unit of time of the return value is a millisecond, the
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; granularity of the value depends on the underlying operating
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; system and may be larger*. For example, many operating systems
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; measure time in units of tens of milliseconds.
&lt;br&gt;&lt;br&gt;Returns the current value of the most precise available system timer, in
&lt;br&gt;nanoseconds.
&lt;br&gt;&lt;br&gt;This method can only be used to measure elapsed time and is not related
&lt;br&gt;to any other notion of system or wall-clock time. The value returned
&lt;br&gt;represents nanoseconds since some fixed but arbitrary time (perhaps in
&lt;br&gt;the future, so values may be negative). This method provides nanosecond
&lt;br&gt;precision, *but not necessarily nanosecond accuracy*. No guarantees are
&lt;br&gt;made about how frequently values change. Differences in successive calls
&lt;br&gt;that span greater than approximately 292 years (2^63 nanoseconds) will
&lt;br&gt;not accurately compute elapsed time due to numerical overflow.
&lt;br&gt;&lt;br&gt;&lt;br&gt;Michele
&lt;br&gt;&lt;br&gt;On Thu, 2007-07-19 at 07:12 -0500, Jess Holle wrote:
&lt;div class='shrinkable-quote'&gt;&lt;br&gt;&amp;gt; Michele Mazzucco wrote:
&lt;br&gt;&amp;gt; &amp;gt; Jess,
&lt;br&gt;&amp;gt; &amp;gt;
&lt;br&gt;&amp;gt; &amp;gt; I'm saying (a), but it's not a windows only problem. It applies to linux
&lt;br&gt;&amp;gt; &amp;gt; as well (I think it applies to all non-realtime os).
&lt;br&gt;&amp;gt; &amp;gt;
&lt;br&gt;&amp;gt; Actually a little experimentation shows (a) is *not* the case.
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; Try:
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; public class Test
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; {
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; public static void main( String args[] )
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; throws Exception
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; {
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; for ( int ii = 0; ii &amp;lt; 20; ++ii )
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; {
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; final long start = System.nanoTime();
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Thread.sleep( 3L );
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; final long end = System.nanoTime();
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; System.out.println( (double) ( end - start ) / 1.0e9 );
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; }
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; }
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; }
&lt;br&gt;&amp;gt; When running this, I get:
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 0.002209499
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 0.003041727
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 0.002880813
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 0.002905955
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 0.003513295
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 0.002158934
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 0.00289562
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 0.002910706
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 0.002923277
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 0.002881372
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 0.002910984
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 0.002908471
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 0.002911264
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 0.002274591
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 0.003108216
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 0.002893664
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 0.002867683
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 0.002905676
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 0.002910984
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 0.002916013
&lt;br&gt;&amp;gt; That is clearly *far* more accurate than using
&lt;br&gt;&amp;gt; System.currentTimeMillis() [and switching the conversion factor],
&lt;br&gt;&amp;gt; where I get:
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 0.0
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 0.0
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 0.01
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 0.0
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 0.0
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 0.01
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 0.0
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 0.0
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 0.01
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 0.0
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 0.0
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 0.01
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 0.0
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 0.0
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 0.0
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 0.01
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 0.0
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 0.0
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 0.01
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 0.0
&lt;br&gt;&amp;gt; [The average of these does actually give exactly 0.003 seconds, which
&lt;br&gt;&amp;gt; is correct.]
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; This shows that either the issue is (b) or Sun's
&lt;br&gt;&amp;gt; System.currentTimeMillis() is unnecessarily inaccurate (though this
&lt;br&gt;&amp;gt; may well impact more than just Windows).
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; --
&lt;br&gt;&amp;gt; Jess Holle
&lt;br&gt;&amp;gt; &amp;gt; On Thu, 2007-07-19 at 06:35 -0500, Jess Holle wrote:
&lt;br&gt;&amp;gt; &amp;gt;
&lt;br&gt;&amp;gt; &amp;gt; &amp;gt; Michele Mazzucco wrote:
&lt;br&gt;&amp;gt; &amp;gt; &amp;gt;
&lt;br&gt;&amp;gt; &amp;gt; &amp;gt; &amp;gt; On Wed, 2007-07-18 at 15:51 -0500, Jess Holle wrote:
&lt;br&gt;&amp;gt; &amp;gt; &amp;gt; &amp;gt;
&lt;br&gt;&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; * On Windows [at least], System.currentTimeMillis()'s resolution
&lt;br&gt;&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; is not milliseconds but rather about 0.01 seconds.
&lt;br&gt;&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; * We could use System.nanoTime() instead, but it appears
&lt;br&gt;&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; that acquiring this takes a bit more time. &amp;nbsp;Moreover,
&lt;br&gt;&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; for the usages in question millisecond accuracy is
&lt;br&gt;&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; sufficient, but 0.01 seconds is not always.
&lt;br&gt;&amp;gt; &amp;gt; &amp;gt; &amp;gt; &amp;gt;
&lt;br&gt;&amp;gt; &amp;gt; &amp;gt; &amp;gt; Jess,
&lt;br&gt;&amp;gt; &amp;gt; &amp;gt; &amp;gt;
&lt;br&gt;&amp;gt; &amp;gt; &amp;gt; &amp;gt; this is a kernel issue (kernel precision is typically 10/15 ms), it's
&lt;br&gt;&amp;gt; &amp;gt; &amp;gt; &amp;gt; not related with java.
&lt;br&gt;&amp;gt; &amp;gt; &amp;gt; &amp;gt;
&lt;br&gt;&amp;gt; &amp;gt; &amp;gt; So are you saying that System.nanoTime() is:
&lt;br&gt;&amp;gt; &amp;gt; &amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp;a. No more accurate than System.currentTimeMillis() on Windows
&lt;br&gt;&amp;gt; &amp;gt; &amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; *or*
&lt;br&gt;&amp;gt; &amp;gt; &amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp;b. Is sufficiently costly that Sun doesn't want to implement
&lt;br&gt;&amp;gt; &amp;gt; &amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; System.currentTimeMillis() via System.nanoTime()'s internals?
&lt;br&gt;&amp;gt; &amp;gt; &amp;gt; Clearly (b) is possible in that one can compute an offset by examining
&lt;br&gt;&amp;gt; &amp;gt; &amp;gt; System.currentTimeMillis() and System.nanoTime() on startup, doing all
&lt;br&gt;&amp;gt; &amp;gt; &amp;gt; timing via nanoTime() and then using the startup numbers to convert
&lt;br&gt;&amp;gt; &amp;gt; &amp;gt; from nanoTime() results to currentTimeMillis() results. &amp;nbsp;I do it in a
&lt;br&gt;&amp;gt; &amp;gt; &amp;gt; few places to avoid having to obtain both types of times when I
&lt;br&gt;&amp;gt; &amp;gt; &amp;gt; already have nanoTime() for some reason. &amp;nbsp;I have to assume that (b) is
&lt;br&gt;&amp;gt; &amp;gt; &amp;gt; more costly, though -- from my own results.
&lt;br&gt;&amp;gt; &amp;gt; &amp;gt;
&lt;br&gt;&amp;gt; &amp;gt; &amp;gt; While all this is annoying the bigger issue is thread CPU time...
&lt;br&gt;&amp;gt; &amp;gt; &amp;gt;
&lt;br&gt;&amp;gt; &amp;gt; &amp;gt; --
&lt;br&gt;&amp;gt; &amp;gt; &amp;gt; Jess Holle
&lt;br&gt;&amp;gt;
&lt;/div&gt;&lt;br&gt;===========================================================================
&lt;br&gt;For information on the Java Management extensions (JMX), please visit
&lt;br&gt;our home page at &lt;a href=&quot;http://java.sun.com/products/JavaManagement/&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://java.sun.com/products/JavaManagement/&lt;/a&gt;&lt;br&gt;The JMX-FORUM archives are accessible at &lt;a href=&quot;http://archives.java.sun.com&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://archives.java.sun.com&lt;/a&gt;&lt;br&gt;To unsubscribe, send email to &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=11687828&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;listserv@...&lt;/a&gt; and include in the body
&lt;br&gt;of the message &amp;quot;signoff JMX-FORUM&amp;quot;. &amp;nbsp;For general help, send email to
&lt;br&gt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=11687828&amp;i=1&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;listserv@...&lt;/a&gt; and include in the body of the message &amp;quot;help&amp;quot;.
&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/Accurate-CPU-timing-on-Windows----How--tp11677418p11687828.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-11687761</id>
	<title>Re: Accurate CPU timing on Windows -- How?</title>
	<published>2007-07-19T06:22:56Z</published>
	<updated>2007-07-19T06:22:56Z</updated>
	<author>
		<name>Eske Sort</name>
	</author>
	<content type="html">Without knowing much in this regard, I seem to recall that
&lt;br&gt;System.currentTimeMillis varies down to roughly 50 milliseconds.
&lt;br&gt;&lt;br&gt;If this is the case, using currentTimeMillis for timings of chunks
&lt;br&gt;smaller than 50 milliseconds is not very accurate.
&lt;br&gt;&lt;br&gt;Regards,
&lt;br&gt;Eske
&lt;br&gt;&lt;br&gt;&lt;br&gt;Jess Holle skrev:
&lt;div class='shrinkable-quote'&gt;&lt;br&gt;&amp;gt; Michele Mazzucco wrote:
&lt;br&gt;&amp;gt;&amp;gt; Jess,
&lt;br&gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt; I'm saying (a), but it's not a windows only problem. It applies to linux
&lt;br&gt;&amp;gt;&amp;gt; as well (I think it applies to all non-realtime os).
&lt;br&gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt; Actually a little experimentation shows (a) is *not* the case.
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; Try:
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp;public class Test
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp;{
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp;public static void main( String args[] )
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;throws Exception
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp;{
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;for ( int ii = 0; ii &amp;lt; 20; ++ii )
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;{
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;final long start = System.nanoTime();
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Thread.sleep( 3L );
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;final long end = System.nanoTime();
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;System.out.println( (double) ( end - start ) / 1.0e9 );
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp;}
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; When running this, I get:
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp;0.002209499
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp;0.003041727
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp;0.002880813
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp;0.002905955
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp;0.003513295
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp;0.002158934
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp;0.00289562
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp;0.002910706
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp;0.002923277
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp;0.002881372
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp;0.002910984
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp;0.002908471
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp;0.002911264
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp;0.002274591
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp;0.003108216
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp;0.002893664
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp;0.002867683
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp;0.002905676
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp;0.002910984
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp;0.002916013
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; That is clearly *far* more accurate than using
&lt;br&gt;&amp;gt; System.currentTimeMillis() [and switching the conversion factor], where
&lt;br&gt;&amp;gt; I get:
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp;0.0
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp;0.0
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp;0.01
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp;0.0
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp;0.0
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp;0.01
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp;0.0
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp;0.0
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp;0.01
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp;0.0
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp;0.0
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp;0.01
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp;0.0
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp;0.0
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp;0.0
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp;0.01
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp;0.0
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp;0.0
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp;0.01
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp;0.0
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; [The average of these does actually give exactly 0.003 seconds, which is
&lt;br&gt;&amp;gt; correct.]
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; This shows that either the issue is (b) or Sun's
&lt;br&gt;&amp;gt; System.currentTimeMillis() is unnecessarily inaccurate (though this may
&lt;br&gt;&amp;gt; well impact more than just Windows).
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; --
&lt;br&gt;&amp;gt; Jess Holle
&lt;br&gt;&amp;gt;&amp;gt; On Thu, 2007-07-19 at 06:35 -0500, Jess Holle wrote:
&lt;br&gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; Michele Mazzucco wrote:
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; On Wed, 2007-07-18 at 15:51 -0500, Jess Holle wrote:
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; * On Windows [at least], System.currentTimeMillis()'s resolution
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; is not milliseconds but rather about 0.01 seconds.
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; * We could use System.nanoTime() instead, but it appears
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; that acquiring this takes a bit more time. &amp;nbsp;Moreover,
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; for the usages in question millisecond accuracy is
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; sufficient, but 0.01 seconds is not always.
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; Jess,
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; this is a kernel issue (kernel precision is typically 10/15 ms), it's
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; not related with java.
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; So are you saying that System.nanoTime() is:
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp;a. No more accurate than System.currentTimeMillis() on Windows
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; *or*
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp;b. Is sufficiently costly that Sun doesn't want to implement
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; System.currentTimeMillis() via System.nanoTime()'s internals?
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; Clearly (b) is possible in that one can compute an offset by examining
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; System.currentTimeMillis() and System.nanoTime() on startup, doing all
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; timing via nanoTime() and then using the startup numbers to convert
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; from nanoTime() results to currentTimeMillis() results. &amp;nbsp;I do it in a
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; few places to avoid having to obtain both types of times when I
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; already have nanoTime() for some reason. &amp;nbsp;I have to assume that (b) is
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; more costly, though -- from my own results.
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; While all this is annoying the bigger issue is thread CPU time...
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; --
&lt;br&gt;&amp;gt;&amp;gt;&amp;gt; Jess Holle
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; ===========================================================================
&lt;br&gt;&amp;gt; For information on the Java Management extensions (JMX), please visit
&lt;br&gt;&amp;gt; our home page at &lt;a href=&quot;http://java.sun.com/products/JavaManagement/&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://java.sun.com/products/JavaManagement/&lt;/a&gt;&lt;br&gt;&amp;gt; The JMX-FORUM archives are accessible at &lt;a href=&quot;http://archives.java.sun.com&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://archives.java.sun.com&lt;/a&gt;&lt;br&gt;&amp;gt; To unsubscribe, send email to &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=11687761&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;listserv@...&lt;/a&gt; and include in the body
&lt;br&gt;&amp;gt; of the message &amp;quot;signoff JMX-FORUM&amp;quot;. &amp;nbsp;For general help, send email to
&lt;br&gt;&amp;gt; &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=11687761&amp;i=1&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;listserv@...&lt;/a&gt; and include in the body of the message &amp;quot;help&amp;quot;.
&lt;br&gt;&amp;gt;
&lt;/div&gt;&lt;br&gt;===========================================================================
&lt;br&gt;For information on the Java Management extensions (JMX), please visit
&lt;br&gt;our home page at &lt;a href=&quot;http://java.sun.com/products/JavaManagement/&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://java.sun.com/products/JavaManagement/&lt;/a&gt;&lt;br&gt;The JMX-FORUM archives are accessible at &lt;a href=&quot;http://archives.java.sun.com&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://archives.java.sun.com&lt;/a&gt;&lt;br&gt;To unsubscribe, send email to &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=11687761&amp;i=2&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;listserv@...&lt;/a&gt; and include in the body
&lt;br&gt;of the message &amp;quot;signoff JMX-FORUM&amp;quot;. &amp;nbsp;For general help, send email to
&lt;br&gt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=11687761&amp;i=3&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;listserv@...&lt;/a&gt; and include in the body of the message &amp;quot;help&amp;quot;.
&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/Accurate-CPU-timing-on-Windows----How--tp11677418p11687761.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-11687442</id>
	<title>Re: Accurate CPU timing on Windows -- How?</title>
	<published>2007-07-19T06:12:26Z</published>
	<updated>2007-07-19T06:12:26Z</updated>
	<author>
		<name>Jess Holle</name>
	</author>
	<content type="html">&lt;!DOCTYPE html PUBLIC &quot;-//W3C//DTD HTML 4.01 Transitional//EN&quot;&gt;
&lt;html&gt;
&lt;head&gt;
  &lt;meta content=&quot;text/html;charset=ISO-8859-1&quot; http-equiv=&quot;Content-Type&quot;&gt;
&lt;/head&gt;
&lt;body bgcolor=&quot;#ffffff&quot; text=&quot;#000000&quot;&gt;
Michele Mazzucco wrote:
&lt;blockquote cite=&quot;mid:1184846082.4736.11.camel@eskdale.ncl.ac.uk&quot; type=&quot;cite&quot;&gt;
  &lt;pre wrap=&quot;&quot;&gt;Jess,

I'm saying (a), but it's not a windows only problem. It applies to linux
as well (I think it applies to all non-realtime os).
  &lt;/pre&gt;
&lt;/blockquote&gt;
Actually a little experimentation shows (a) is *not* the case.&lt;br&gt;
&lt;br&gt;
Try:&lt;br&gt;
&lt;blockquote&gt;public class Test&lt;br&gt;
{&lt;br&gt;
&amp;nbsp; public static void main( String args[] )&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; throws Exception&lt;br&gt;
&amp;nbsp; {&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; for ( int ii = 0; ii &amp;lt; 20; ++ii )&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; final long start = System.nanoTime();&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Thread.sleep( 3L );&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; final long end = System.nanoTime();&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; System.out.println( (double) ( end - start ) / 1.0e9 );&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br&gt;
&amp;nbsp; }&lt;br&gt;
}&lt;br&gt;
&lt;/blockquote&gt;
When running this, I get:&lt;br&gt;
&lt;blockquote&gt;0.002209499&lt;br&gt;
0.003041727&lt;br&gt;
0.002880813&lt;br&gt;
0.002905955&lt;br&gt;
0.003513295&lt;br&gt;
0.002158934&lt;br&gt;
0.00289562&lt;br&gt;
0.002910706&lt;br&gt;
0.002923277&lt;br&gt;
0.002881372&lt;br&gt;
0.002910984&lt;br&gt;
0.002908471&lt;br&gt;
0.002911264&lt;br&gt;
0.002274591&lt;br&gt;
0.003108216&lt;br&gt;
0.002893664&lt;br&gt;
0.002867683&lt;br&gt;
0.002905676&lt;br&gt;
0.002910984&lt;br&gt;
0.002916013&lt;br&gt;
&lt;/blockquote&gt;
That is clearly *far* more accurate than using
System.currentTimeMillis() [and switching the conversion factor], where
I get:&lt;br&gt;
&lt;blockquote&gt;0.0&lt;br&gt;
0.0&lt;br&gt;
0.01&lt;br&gt;
0.0&lt;br&gt;
0.0&lt;br&gt;
0.01&lt;br&gt;
0.0&lt;br&gt;
0.0&lt;br&gt;
0.01&lt;br&gt;
0.0&lt;br&gt;
0.0&lt;br&gt;
0.01&lt;br&gt;
0.0&lt;br&gt;
0.0&lt;br&gt;
0.0&lt;br&gt;
0.01&lt;br&gt;
0.0&lt;br&gt;
0.0&lt;br&gt;
0.01&lt;br&gt;
0.0&lt;br&gt;
&lt;/blockquote&gt;
[The average of these does actually give exactly 0.003 seconds, which
is correct.]&lt;br&gt;
&lt;br&gt;
This shows that either the issue is (b) or Sun's
System.currentTimeMillis() is unnecessarily inaccurate (though this may
well impact more than just Windows).&lt;br&gt;
&lt;br&gt;
--&lt;br&gt;
Jess Holle&lt;br&gt;
&lt;blockquote cite=&quot;mid:1184846082.4736.11.camel@eskdale.ncl.ac.uk&quot; type=&quot;cite&quot;&gt;
  &lt;pre wrap=&quot;&quot;&gt;On Thu, 2007-07-19 at 06:35 -0500, Jess Holle wrote:
  &lt;/pre&gt;
  &lt;blockquote type=&quot;cite&quot;&gt;
    &lt;pre wrap=&quot;&quot;&gt;Michele Mazzucco wrote:
    &lt;/pre&gt;
    &lt;blockquote type=&quot;cite&quot;&gt;
      &lt;pre wrap=&quot;&quot;&gt;On Wed, 2007-07-18 at 15:51 -0500, Jess Holle wrote:
      &lt;/pre&gt;
      &lt;blockquote type=&quot;cite&quot;&gt;
        &lt;pre wrap=&quot;&quot;&gt;      * On Windows [at least], System.currentTimeMillis()'s resolution
        is not milliseconds but rather about 0.01 seconds.
              * We could use System.nanoTime() instead, but it appears
                that acquiring this takes a bit more time.  Moreover,
                for the usages in question millisecond accuracy is
                sufficient, but 0.01 seconds is not always.
        &lt;/pre&gt;
      &lt;/blockquote&gt;
      &lt;pre wrap=&quot;&quot;&gt;Jess,

this is a kernel issue (kernel precision is typically 10/15 ms), it's
not related with java.
      &lt;/pre&gt;
    &lt;/blockquote&gt;
    &lt;pre wrap=&quot;&quot;&gt;So are you saying that System.nanoTime() is:
     a. No more accurate than System.currentTimeMillis() on Windows
        *or*
     b. Is sufficiently costly that Sun doesn't want to implement
        System.currentTimeMillis() via System.nanoTime()'s internals?
Clearly (b) is possible in that one can compute an offset by examining
System.currentTimeMillis() and System.nanoTime() on startup, doing all
timing via nanoTime() and then using the startup numbers to convert
from nanoTime() results to currentTimeMillis() results.  I do it in a
few places to avoid having to obtain both types of times when I
already have nanoTime() for some reason.  I have to assume that (b) is
more costly, though -- from my own results.

While all this is annoying the bigger issue is thread CPU time...

--
Jess Holle&lt;/pre&gt;
  &lt;/blockquote&gt;
&lt;/blockquote&gt;
&lt;br&gt;
&lt;/body&gt;
&lt;/html&gt;
===========================================================================
For information on the Java Management extensions (JMX), please visit
our home page at http://java.sun.com/products/JavaManagement/
The JMX-FORUM archives are accessible at http://archives.java.sun.com
To unsubscribe, send email to &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=11687442&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;listserv@...&lt;/a&gt; and include in the body
of the message &quot;signoff JMX-FORUM&quot;.  For general help, send email to
&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=11687442&amp;i=1&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;listserv@...&lt;/a&gt; and include in the body of the message &quot;help&quot;.
</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/Accurate-CPU-timing-on-Windows----How--tp11677418p11687442.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-11687171</id>
	<title>Re: Accurate CPU timing on Windows -- How?</title>
	<published>2007-07-19T05:54:42Z</published>
	<updated>2007-07-19T05:54:42Z</updated>
	<author>
		<name>Michele Mazzucco-2</name>
	</author>
	<content type="html">Jess,
&lt;br&gt;&lt;br&gt;I'm saying (a), but it's not a windows only problem. It applies to linux
&lt;br&gt;as well (I think it applies to all non-realtime os).
&lt;br&gt;&lt;br&gt;Michele
&lt;br&gt;&lt;br&gt;On Thu, 2007-07-19 at 06:35 -0500, Jess Holle wrote:
&lt;div class='shrinkable-quote'&gt;&lt;br&gt;&amp;gt; Michele Mazzucco wrote:
&lt;br&gt;&amp;gt; &amp;gt; On Wed, 2007-07-18 at 15:51 -0500, Jess Holle wrote:
&lt;br&gt;&amp;gt; &amp;gt;
&lt;br&gt;&amp;gt; &amp;gt; &amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; * On Windows [at least], System.currentTimeMillis()'s resolution
&lt;br&gt;&amp;gt; &amp;gt; &amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; is not milliseconds but rather about 0.01 seconds.
&lt;br&gt;&amp;gt; &amp;gt; &amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; * We could use System.nanoTime() instead, but it appears
&lt;br&gt;&amp;gt; &amp;gt; &amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; that acquiring this takes a bit more time. &amp;nbsp;Moreover,
&lt;br&gt;&amp;gt; &amp;gt; &amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; for the usages in question millisecond accuracy is
&lt;br&gt;&amp;gt; &amp;gt; &amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; sufficient, but 0.01 seconds is not always.
&lt;br&gt;&amp;gt; &amp;gt; &amp;gt;
&lt;br&gt;&amp;gt; &amp;gt; Jess,
&lt;br&gt;&amp;gt; &amp;gt;
&lt;br&gt;&amp;gt; &amp;gt; this is a kernel issue (kernel precision is typically 10/15 ms), it's
&lt;br&gt;&amp;gt; &amp;gt; not related with java.
&lt;br&gt;&amp;gt; &amp;gt;
&lt;br&gt;&amp;gt; So are you saying that System.nanoTime() is:
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp;a. No more accurate than System.currentTimeMillis() on Windows
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; *or*
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp;b. Is sufficiently costly that Sun doesn't want to implement
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; System.currentTimeMillis() via System.nanoTime()'s internals?
&lt;br&gt;&amp;gt; Clearly (b) is possible in that one can compute an offset by examining
&lt;br&gt;&amp;gt; System.currentTimeMillis() and System.nanoTime() on startup, doing all
&lt;br&gt;&amp;gt; timing via nanoTime() and then using the startup numbers to convert
&lt;br&gt;&amp;gt; from nanoTime() results to currentTimeMillis() results. &amp;nbsp;I do it in a
&lt;br&gt;&amp;gt; few places to avoid having to obtain both types of times when I
&lt;br&gt;&amp;gt; already have nanoTime() for some reason. &amp;nbsp;I have to assume that (b) is
&lt;br&gt;&amp;gt; more costly, though -- from my own results.
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; While all this is annoying the bigger issue is thread CPU time...
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; --
&lt;br&gt;&amp;gt; Jess Holle
&lt;br&gt;&amp;gt;
&lt;/div&gt;&lt;br&gt;===========================================================================
&lt;br&gt;For information on the Java Management extensions (JMX), please visit
&lt;br&gt;our home page at &lt;a href=&quot;http://java.sun.com/products/JavaManagement/&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://java.sun.com/products/JavaManagement/&lt;/a&gt;&lt;br&gt;The JMX-FORUM archives are accessible at &lt;a href=&quot;http://archives.java.sun.com&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://archives.java.sun.com&lt;/a&gt;&lt;br&gt;To unsubscribe, send email to &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=11687171&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;listserv@...&lt;/a&gt; and include in the body
&lt;br&gt;of the message &amp;quot;signoff JMX-FORUM&amp;quot;. &amp;nbsp;For general help, send email to
&lt;br&gt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=11687171&amp;i=1&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;listserv@...&lt;/a&gt; and include in the body of the message &amp;quot;help&amp;quot;.
&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/Accurate-CPU-timing-on-Windows----How--tp11677418p11687171.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-11686858</id>
	<title>Re: Accurate CPU timing on Windows -- How?</title>
	<published>2007-07-19T05:35:37Z</published>
	<updated>2007-07-19T05:35:37Z</updated>
	<author>
		<name>Jess Holle</name>
	</author>
	<content type="html">&lt;!DOCTYPE html PUBLIC &quot;-//W3C//DTD HTML 4.01 Transitional//EN&quot;&gt;
&lt;html&gt;
&lt;head&gt;
  &lt;meta content=&quot;text/html;charset=ISO-8859-1&quot; http-equiv=&quot;Content-Type&quot;&gt;
&lt;/head&gt;
&lt;body bgcolor=&quot;#ffffff&quot; text=&quot;#000000&quot;&gt;
Michele Mazzucco wrote:
&lt;blockquote cite=&quot;mid:1184835578.4736.1.camel@eskdale.ncl.ac.uk&quot; type=&quot;cite&quot;&gt;
  &lt;pre wrap=&quot;&quot;&gt;On Wed, 2007-07-18 at 15:51 -0500, Jess Holle wrote:
  &lt;/pre&gt;
  &lt;blockquote type=&quot;cite&quot;&gt;
    &lt;pre wrap=&quot;&quot;&gt;      * On Windows [at least], System.currentTimeMillis()'s resolution
        is not milliseconds but rather about 0.01 seconds.
              * We could use System.nanoTime() instead, but it appears
                that acquiring this takes a bit more time.  Moreover,
                for the usages in question millisecond accuracy is
                sufficient, but 0.01 seconds is not always.
    &lt;/pre&gt;
  &lt;/blockquote&gt;
  &lt;pre wrap=&quot;&quot;&gt;&lt;!----&gt;Jess,

this is a kernel issue (kernel precision is typically 10/15 ms), it's
not related with java.
  &lt;/pre&gt;
&lt;/blockquote&gt;
So are you saying that System.nanoTime() is:&lt;br&gt;
&lt;ol type=&quot;a&quot;&gt;
  &lt;li&gt;No more accurate than System.currentTimeMillis() on Windows *or*&lt;/li&gt;
  &lt;li&gt;Is sufficiently costly that Sun doesn't want to implement
System.currentTimeMillis() via System.nanoTime()'s internals?&lt;/li&gt;
&lt;/ol&gt;
Clearly (b) is possible in that one can compute an offset by examining
System.currentTimeMillis() and System.nanoTime() on startup, doing all
timing via nanoTime() and then using the startup numbers to convert
from nanoTime() results to currentTimeMillis() results.&amp;nbsp; I do it in a
few places to avoid having to obtain both types of times when I already
have nanoTime() for some reason.&amp;nbsp; I have to assume that (b) is more
costly, though -- from my own results.&lt;br&gt;
&lt;br&gt;
While all this is annoying the bigger issue is thread CPU time...&lt;br&gt;
&lt;br&gt;
--&lt;br&gt;
Jess Holle&lt;br&gt;
&lt;br&gt;
&lt;/body&gt;
&lt;/html&gt;
===========================================================================
For information on the Java Management extensions (JMX), please visit
our home page at http://java.sun.com/products/JavaManagement/
The JMX-FORUM archives are accessible at http://archives.java.sun.com
To unsubscribe, send email to &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=11686858&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;listserv@...&lt;/a&gt; and include in the body
of the message &quot;signoff JMX-FORUM&quot;.  For general help, send email to
&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=11686858&amp;i=1&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;listserv@...&lt;/a&gt; and include in the body of the message &quot;help&quot;.
</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/Accurate-CPU-timing-on-Windows----How--tp11677418p11686858.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-11684899</id>
	<title>Re: Accurate CPU timing on Windows -- How?</title>
	<published>2007-07-19T02:59:38Z</published>
	<updated>2007-07-19T02:59:38Z</updated>
	<author>
		<name>Michele Mazzucco-2</name>
	</author>
	<content type="html">On Wed, 2007-07-18 at 15:51 -0500, Jess Holle wrote:
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; * On Windows [at least], System.currentTimeMillis()'s resolution
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; is not milliseconds but rather about 0.01 seconds.
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; * We could use System.nanoTime() instead, but it appears
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; that acquiring this takes a bit more time. &amp;nbsp;Moreover,
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; for the usages in question millisecond accuracy is
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; sufficient, but 0.01 seconds is not always.
&lt;br&gt;&lt;br&gt;Jess,
&lt;br&gt;&lt;br&gt;this is a kernel issue (kernel precision is typically 10/15 ms), it's
&lt;br&gt;not related with java.
&lt;br&gt;&lt;br&gt;&lt;br&gt;Michele
&lt;br&gt;&lt;br&gt;===========================================================================
&lt;br&gt;For information on the Java Management extensions (JMX), please visit
&lt;br&gt;our home page at &lt;a href=&quot;http://java.sun.com/products/JavaManagement/&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://java.sun.com/products/JavaManagement/&lt;/a&gt;&lt;br&gt;The JMX-FORUM archives are accessible at &lt;a href=&quot;http://archives.java.sun.com&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://archives.java.sun.com&lt;/a&gt;&lt;br&gt;To unsubscribe, send email to &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=11684899&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;listserv@...&lt;/a&gt; and include in the body
&lt;br&gt;of the message &amp;quot;signoff JMX-FORUM&amp;quot;. &amp;nbsp;For general help, send email to
&lt;br&gt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=11684899&amp;i=1&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;listserv@...&lt;/a&gt; and include in the body of the message &amp;quot;help&amp;quot;.
&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/Accurate-CPU-timing-on-Windows----How--tp11677418p11684899.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-11677418</id>
	<title>Accurate CPU timing on Windows -- How?</title>
	<published>2007-07-18T14:49:41Z</published>
	<updated>2007-07-18T14:49:41Z</updated>
	<author>
		<name>Jess Holle</name>
	</author>
	<content type="html">&lt;!DOCTYPE html PUBLIC &quot;-//W3C//DTD HTML 4.01 Transitional//EN&quot;&gt;
&lt;html&gt;
&lt;head&gt;
&lt;/head&gt;
&lt;body bgcolor=&quot;#ffffff&quot; text=&quot;#000000&quot;&gt;
We've done a good amount of JMX instrumentation of our application --
including various embedded timing metrics, both wall clock and CPU
times.&lt;br&gt;
&lt;br&gt;
The issue we're seeing is that at least on Windows the CPU thread times
produced by ThreadMXBean.getCurrentThreadCpuTime() are horribly
inaccurate.&amp;nbsp; We attempt to time various relatively short-lived requests
and they all give an elapsed CPU time of 0.&amp;nbsp; I can see that granularity
in the timer might lead to some of this, but we have &lt;i&gt;many&lt;/i&gt; such
requests and they &lt;i&gt;all &lt;/i&gt;show an elapsed time of 0 -- whereas one
would expect that granularity would lead to sudden large timer jumps
during in some measurement intervals.&lt;br&gt;
&lt;ul&gt;
  &lt;li&gt;Is this a known issue?&lt;/li&gt;
  &lt;li&gt;Are there plans to address this?&lt;/li&gt;
  &lt;li&gt;Have others worked around this?&lt;/li&gt;
&lt;/ul&gt;
Overall, the results are bad enough that we're starting to consider
dropping use of ThreadMXBean in favor of JNI code on some platforms
(structured such that if the JNI stuff can't be loaded we fallback to
using ThreadMXBean, of course).&amp;nbsp; I'd really like to hope that either
this is being addressed in an upcoming Java update or that at least
someone else has recognized the issue and that there is freely
available JNI stuff to use.&lt;br&gt;
&lt;br&gt;
--&lt;br&gt;
Jess Holle&lt;br&gt;
&lt;br&gt;
P.S. I have noticed other substantial issues in this area as well,
including:&lt;br&gt;
&lt;ul&gt;
  &lt;li&gt;On Windows [at least], System.currentTimeMillis()'s resolution is
not milliseconds but rather about 0.01 seconds.&lt;/li&gt;
  &lt;ul&gt;
    &lt;li&gt;We could use System.nanoTime() instead, but it appears that
acquiring this takes a bit more time.&amp;nbsp; Moreover, for the usages in
question millisecond accuracy is sufficient, but 0.01 seconds is not
always.&lt;/li&gt;
  &lt;/ul&gt;
  &lt;li&gt;There is no more efficient way to get at the Sun-specific OS
MBean attribute, &quot;ProcessCpuTime&quot;, than&lt;/li&gt;
&lt;/ul&gt;
&lt;blockquote&gt;
  &lt;blockquote&gt;PLATFORM_MBEAN_SERVER.getAttribute( OS_MBEAN_NAME,
&quot;ProcessCpuTime&quot; )&lt;br&gt;
  &lt;/blockquote&gt;
which is not very efficient at all.&lt;br&gt;
  &lt;ul&gt;
    &lt;li&gt;It would be nice if the implementation class was public so one
could look up the method via reflection at static init time and then
directly invoke the method object.&lt;/li&gt;
  &lt;/ul&gt;
&lt;/blockquote&gt;
&lt;/body&gt;
&lt;/html&gt;
===========================================================================
For information on the Java Management extensions (JMX), please visit
our home page at http://java.sun.com/products/JavaManagement/
The JMX-FORUM archives are accessible at http://archives.java.sun.com
To unsubscribe, send email to &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=11677418&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;listserv@...&lt;/a&gt; and include in the body
of the message &quot;signoff JMX-FORUM&quot;.  For general help, send email to
&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=11677418&amp;i=1&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;listserv@...&lt;/a&gt; and include in the body of the message &quot;help&quot;.
</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/Accurate-CPU-timing-on-Windows----How--tp11677418p11677418.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-11651489</id>
	<title>Re: Interpreting error message</title>
	<published>2007-07-17T09:07:43Z</published>
	<updated>2007-07-17T09:07:43Z</updated>
	<author>
		<name>eamonn.mcmanus</name>
	</author>
	<content type="html">Vibha,
&lt;br&gt;&lt;br&gt;The stack trace you show is normal when a remote JMX client connects to a
&lt;br&gt;server. &amp;nbsp;But if you are seeing 1300 threads with the same stack trace then
&lt;br&gt;that normally means you have 1300 remote JMX connections. &amp;nbsp;You might want to
&lt;br&gt;check this with system tools (such as netstat on Unix-like systems).
&lt;br&gt;&lt;br&gt;Another thing you can try is to turn on JMX logging. &amp;nbsp;I usually do this by
&lt;br&gt;running my application with
&lt;br&gt;-Djava.util.logging.config.file=$HOME/java/jmx.logging.properties, where
&lt;br&gt;that file contains the following:
&lt;br&gt;&lt;br&gt;handlers= java.util.logging.ConsoleHandler
&lt;br&gt;javax.management.level=FINEST
&lt;br&gt;&lt;br&gt;java.util.logging.ConsoleHandler.level = FINEST
&lt;br&gt;java.util.logging.ConsoleHandler.formatter = java.util.logging.SimpleFormatter
&lt;br&gt;&lt;br&gt;Setting the property on the command line and logging to System.err, as here,
&lt;br&gt;might not be appropriate in your environment, but you should be able to
&lt;br&gt;figure out alternatives if necessary.
&lt;br&gt;&lt;br&gt;Hope this helps,
&lt;br&gt;Éamonn McManus &amp;nbsp;-- &amp;nbsp;JMX Spec Lead &amp;nbsp;-- &amp;nbsp;&lt;a href=&quot;http://weblogs.java.net/blog/emcmanus&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://weblogs.java.net/blog/emcmanus&lt;/a&gt;&lt;br&gt;&lt;br&gt;On Sun, 15 Jul 2007 16:19:55 -0700, Vibha Harikar &amp;lt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=11651489&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;vharikar@...&lt;/a&gt;&amp;gt; wrote:
&lt;br&gt;&lt;div class='shrinkable-quote'&gt;&lt;br&gt;&amp;gt;Hi,
&lt;br&gt;&amp;gt; &amp;nbsp; We have a Java (1.5) app (running on Tomcat 5.5.X)
&lt;br&gt;&amp;gt;that is experiencing some production issues. At times
&lt;br&gt;&amp;gt;one one of the Tomcat instances will lockup and cause
&lt;br&gt;&amp;gt;the entire application to be unresponsive. In the
&lt;br&gt;&amp;gt;thread dumps of one of the JVM's we see a large number
&lt;br&gt;&amp;gt;of messages like (apart from many others) :
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt;&amp;quot;JMX server connection timeout 38&amp;quot; daemon prio=1
&lt;br&gt;&amp;gt;tid=0x08aa9b20 nid=0x596c in Object.wait()
&lt;br&gt;&amp;gt;[0x670fc000..0x670fcda0]
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;at java.lang.Object.wait(Native Method)
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;- waiting on &amp;lt;0x72af9090&amp;gt; (a [I)
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;at
&lt;br&gt;&amp;gt;com.sun.jmx.remote.internal.ServerCommunicatorAdmin$Timeout.run(ServerCommunicatorAdmin.java:150)
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;- locked &amp;lt;0x72af9090&amp;gt; (a [I)
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;at java.lang.Thread.run(Thread.java:595)
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt;There's at least 1300 threads in this state. What does
&lt;br&gt;&amp;gt;this signify ? Is this significant or just a symptom
&lt;br&gt;&amp;gt;of some other problem we could be facing ..?
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt;Any pointers would be appreciated.
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt;Thanks,
&lt;br&gt;&amp;gt;Vibha.
&lt;/div&gt;&lt;br&gt;===========================================================================
&lt;br&gt;For information on the Java Management extensions (JMX), please visit
&lt;br&gt;our home page at &lt;a href=&quot;http://java.sun.com/products/JavaManagement/&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://java.sun.com/products/JavaManagement/&lt;/a&gt;&lt;br&gt;The JMX-FORUM archives are accessible at &lt;a href=&quot;http://archives.java.sun.com&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://archives.java.sun.com&lt;/a&gt;&lt;br&gt;To unsubscribe, send email to &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=11651489&amp;i=1&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;listserv@...&lt;/a&gt; and include in the body
&lt;br&gt;of the message &amp;quot;signoff JMX-FORUM&amp;quot;. &amp;nbsp;For general help, send email to
&lt;br&gt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=11651489&amp;i=2&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;listserv@...&lt;/a&gt; and include in the body of the message &amp;quot;help&amp;quot;.
&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/Interpreting-error-message-tp11607230p11651489.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-11622315</id>
	<title>generation of JMX file using PHP ?</title>
	<published>2007-07-16T11:29:33Z</published>
	<updated>2007-07-16T11:29:33Z</updated>
	<author>
		<name>cybercbm</name>
	</author>
	<content type="html">hay ,
&lt;br&gt;can any buddy please tell me 
&lt;br&gt;&lt;br&gt;how can we generate or create *.JMX file from PHP programming language ? actually i want to run .jmx at jmeter and i want php to create direct jmx file that can have entries of jemter's arguments and parameter ?
&lt;br&gt;&lt;br&gt;&lt;i&gt;Thanx friends.&lt;/i&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/generation-of-JMX-file-using-PHP---tp11622315p11622315.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-11607230</id>
	<title>Interpreting error message</title>
	<published>2007-07-15T17:19:55Z</published>
	<updated>2007-07-15T17:19:55Z</updated>
	<author>
		<name>Vibha Harikar</name>
	</author>
	<content type="html">Hi,
&lt;br&gt;&amp;nbsp; &amp;nbsp;We have a Java (1.5) app (running on Tomcat 5.5.X)
&lt;br&gt;that is experiencing some production issues. At times
&lt;br&gt;one one of the Tomcat instances will lockup and cause
&lt;br&gt;the entire application to be unresponsive. In the
&lt;br&gt;thread dumps of one of the JVM's we see a large number
&lt;br&gt;of messages like (apart from many others) :
&lt;br&gt;&lt;br&gt;&amp;quot;JMX server connection timeout 38&amp;quot; daemon prio=1
&lt;br&gt;tid=0x08aa9b20 nid=0x596c in Object.wait()
&lt;br&gt;[0x670fc000..0x670fcda0]
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; at java.lang.Object.wait(Native Method)
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; - waiting on &amp;lt;0x72af9090&amp;gt; (a [I)
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; at
&lt;br&gt;com.sun.jmx.remote.internal.ServerCommunicatorAdmin$Timeout.run(ServerCommunicatorAdmin.java:150)
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; - locked &amp;lt;0x72af9090&amp;gt; (a [I)
&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; at java.lang.Thread.run(Thread.java:595)
&lt;br&gt;&lt;br&gt;There's at least 1300 threads in this state. What does
&lt;br&gt;this signify ? Is this significant or just a symptom
&lt;br&gt;of some other problem we could be facing ..?
&lt;br&gt;&lt;br&gt;Any pointers would be appreciated.
&lt;br&gt;&lt;br&gt;Thanks,
&lt;br&gt;Vibha.
&lt;br&gt;&lt;br&gt;&lt;br&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; ____________________________________________________________________________________
&lt;br&gt;Shape Yahoo! in your own image. &amp;nbsp;Join our Network Research Panel today! &amp;nbsp; &lt;a href=&quot;http://surveylink.yahoo.com/gmrs/yahoo_panel_invite.asp?a=7&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://surveylink.yahoo.com/gmrs/yahoo_panel_invite.asp?a=7&lt;/a&gt;&lt;br&gt;&lt;br&gt;===========================================================================
&lt;br&gt;For information on the Java Management extensions (JMX), please visit
&lt;br&gt;our home page at &lt;a href=&quot;http://java.sun.com/products/JavaManagement/&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://java.sun.com/products/JavaManagement/&lt;/a&gt;&lt;br&gt;The JMX-FORUM archives are accessible at &lt;a href=&quot;http://archives.java.sun.com&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://archives.java.sun.com&lt;/a&gt;&lt;br&gt;To unsubscribe, send email to &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=11607230&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;listserv@...&lt;/a&gt; and include in the body
&lt;br&gt;of the message &amp;quot;signoff JMX-FORUM&amp;quot;. &amp;nbsp;For general help, send email to
&lt;br&gt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=11607230&amp;i=1&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;listserv@...&lt;/a&gt; and include in the body of the message &amp;quot;help&amp;quot;.
&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/Interpreting-error-message-tp11607230p11607230.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-11460621</id>
	<title>Re: MBeanServerNotificationFilter and ObjectName pattern</title>
	<published>2007-07-06T02:23:33Z</published>
	<updated>2007-07-06T02:23:33Z</updated>
	<author>
		<name>eamonn.mcmanus</name>
	</author>
	<content type="html">Bonjour Elodie,
&lt;br&gt;&lt;br&gt;Indeed, MBeanServerNotificationFilter does not work as you might expect when
&lt;br&gt;given an ObjectName pattern. &amp;nbsp;You have to add an explicit list of ObjectNames.
&lt;br&gt;&lt;br&gt;It is easy enough to define your own NotificationFilter implementation that
&lt;br&gt;does recognize ObjectName patterns (using ObjectName.apply to match), but
&lt;br&gt;that does require both your client and server to have this class present.
&lt;br&gt;You might also have problems serializing the NotificationFilter with some
&lt;br&gt;connectors. &amp;nbsp;(The standard RMI and JMXMP connectors have no problem, though.)
&lt;br&gt;&lt;br&gt;I have logged a Request For Enhancement to track this, which you will be
&lt;br&gt;able to see at &amp;lt;&lt;a href=&quot;http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=6577604&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=6577604&lt;/a&gt;&amp;gt;
&lt;br&gt;shortly. &amp;nbsp;But because this is a change in behaviour, we can only make it in
&lt;br&gt;a new release of the Java platform. &amp;nbsp;That means you'll see it in JDK 7 but
&lt;br&gt;not before.
&lt;br&gt;&lt;br&gt;Regards,
&lt;br&gt;Éamonn McManus &amp;nbsp;-- &amp;nbsp;JMX Spec Lead &amp;nbsp;-- &amp;nbsp;&lt;a href=&quot;http://weblogs.java.net/blog/emcmanus&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://weblogs.java.net/blog/emcmanus&lt;/a&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;On Thu, 5 Jul 2007 10:29:21 -0600, Elodie Descarpentries
&lt;br&gt;&amp;lt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=11460621&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;elodie.descarpentries@...&lt;/a&gt;&amp;gt; wrote:
&lt;br&gt;&lt;div class='shrinkable-quote'&gt;&lt;br&gt;&amp;gt;Hello,
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt;I want to listen to MBeanServerNotification related to some MBeans,
&lt;br&gt;&amp;gt;therefore I use the MBeanServerNotificationFilter,
&lt;br&gt;&amp;gt;but when specifying pattern ObjectName (with wildcard) in my filter
&lt;br&gt;&amp;gt;criteria I do not receive the MBeanServerNotification I'm expecting.
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt;The test I made :
&lt;br&gt;&amp;gt;MBeanServerNotificationFilter.enableObjectName(new ObjectName
&lt;br&gt;&amp;gt;(&amp;quot;mydomain:mykey1=myvalue1,mykey2=myvalue2&amp;quot;))
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp;==&amp;gt; notification correctly received
&lt;br&gt;&amp;gt;MBeanServerNotificationFilter.enableObjectName(new ObjectName
&lt;br&gt;&amp;gt;(&amp;quot;mydomain:*&amp;quot;))
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp;==&amp;gt; No notification received
&lt;br&gt;&amp;gt;MBeanServerNotificationFilter.enableObjectName(new ObjectName
&lt;br&gt;&amp;gt;(&amp;quot;mydomain:mykey1=myvalue1,*&amp;quot;))
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp;==&amp;gt; No notification received
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt;Does MBeanServerNotificationFilter.enableObjectName(ObjectName)
&lt;br&gt;&amp;gt;support &amp;quot;pattern ObjectName&amp;quot; ?
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt;Thanks
&lt;br&gt;&amp;gt;Elodie
&lt;/div&gt;&lt;br&gt;===========================================================================
&lt;br&gt;For information on the Java Management extensions (JMX), please visit
&lt;br&gt;our home page at &lt;a href=&quot;http://java.sun.com/products/JavaManagement/&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://java.sun.com/products/JavaManagement/&lt;/a&gt;&lt;br&gt;The JMX-FORUM archives are accessible at &lt;a href=&quot;http://archives.java.sun.com&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://archives.java.sun.com&lt;/a&gt;&lt;br&gt;To unsubscribe, send email to &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=11460621&amp;i=1&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;listserv@...&lt;/a&gt; and include in the body
&lt;br&gt;of the message &amp;quot;signoff JMX-FORUM&amp;quot;. &amp;nbsp;For general help, send email to
&lt;br&gt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=11460621&amp;i=2&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;listserv@...&lt;/a&gt; and include in the body of the message &amp;quot;help&amp;quot;.
&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/MBeanServerNotificationFilter-and-ObjectName-pattern-tp11450298p11460621.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-11450298</id>
	<title>MBeanServerNotificationFilter and ObjectName pattern</title>
	<published>2007-07-05T10:29:21Z</published>
	<updated>2007-07-05T10:29:21Z</updated>
	<author>
		<name>Elodie Descarpentries</name>
	</author>
	<content type="html">Hello,
&lt;br&gt;&lt;br&gt;I want to listen to MBeanServerNotification related to some MBeans,
&lt;br&gt;therefore I use the MBeanServerNotificationFilter,
&lt;br&gt;but when specifying pattern ObjectName (with wildcard) in my filter
&lt;br&gt;criteria I do not receive the MBeanServerNotification I'm expecting.
&lt;br&gt;&lt;br&gt;The test I made :
&lt;br&gt;MBeanServerNotificationFilter.enableObjectName(new ObjectName
&lt;br&gt;(&amp;quot;mydomain:mykey1=myvalue1,mykey2=myvalue2&amp;quot;))
&lt;br&gt;&amp;nbsp; &amp;nbsp; ==&amp;gt; notification correctly received
&lt;br&gt;MBeanServerNotificationFilter.enableObjectName(new ObjectName
&lt;br&gt;(&amp;quot;mydomain:*&amp;quot;))
&lt;br&gt;&amp;nbsp; &amp;nbsp; ==&amp;gt; No notification received
&lt;br&gt;MBeanServerNotificationFilter.enableObjectName(new ObjectName
&lt;br&gt;(&amp;quot;mydomain:mykey1=myvalue1,*&amp;quot;))
&lt;br&gt;&amp;nbsp; &amp;nbsp; ==&amp;gt; No notification received
&lt;br&gt;&lt;br&gt;Does MBeanServerNotificationFilter.enableObjectName(ObjectName)
&lt;br&gt;support &amp;quot;pattern ObjectName&amp;quot; ?
&lt;br&gt;&lt;br&gt;Thanks
&lt;br&gt;Elodie
&lt;br&gt;&lt;br&gt;===========================================================================
&lt;br&gt;For information on the Java Management extensions (JMX), please visit
&lt;br&gt;our home page at &lt;a href=&quot;http://java.sun.com/products/JavaManagement/&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://java.sun.com/products/JavaManagement/&lt;/a&gt;&lt;br&gt;The JMX-FORUM archives are accessible at &lt;a href=&quot;http://archives.java.sun.com&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://archives.java.sun.com&lt;/a&gt;&lt;br&gt;To unsubscribe, send email to &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=11450298&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;listserv@...&lt;/a&gt; and include in the body
&lt;br&gt;of the message &amp;quot;signoff JMX-FORUM&amp;quot;. &amp;nbsp;For general help, send email to
&lt;br&gt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=11450298&amp;i=1&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;listserv@...&lt;/a&gt; and include in the body of the message &amp;quot;help&amp;quot;.
&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/MBeanServerNotificationFilter-and-ObjectName-pattern-tp11450298p11450298.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-10956101</id>
	<title>Re: CompositeDataSupport/i18N</title>
	<published>2007-06-04T13:05:37Z</published>
	<updated>2007-06-04T13:05:37Z</updated>
	<author>
		<name>Jess Holle</name>
	</author>
	<content type="html">&lt;!DOCTYPE html PUBLIC &quot;-//W3C//DTD HTML 4.01 Transitional//EN&quot;&gt;
&lt;html&gt;
&lt;head&gt;
  &lt;meta content=&quot;text/html;charset=ISO-8859-1&quot; http-equiv=&quot;Content-Type&quot;&gt;
&lt;/head&gt;
&lt;body bgcolor=&quot;#ffffff&quot; text=&quot;#000000&quot;&gt;
As I see it these names are not really amenable to localization --
unless you want all potential programmatic access code to have to do
stuff like:&lt;br&gt;
&lt;blockquote&gt;data.get( bundle.getString( &quot;myField&quot;, locale ) )&lt;br&gt;
&lt;/blockquote&gt;
The descriptions of the fields are, however, amenable to localization
-- but I'm not sure which JMX consoles expose these...&lt;br&gt;
&lt;br&gt;
--&lt;br&gt;
Jess Holle&lt;br&gt;
&lt;br&gt;
Stephanie Smith wrote:
&lt;blockquote cite=&quot;mid:LISTSERV%252007060412265306@JAVA.SUN.COM&quot; type=&quot;cite&quot;&gt;
  &lt;pre wrap=&quot;&quot;&gt;When an MBean exposes CompositeData and uses the CompositeDataSupport
class, the itemNames must be passed in. These names are used by the various
consoles when displaying the composite data information.
Is it a best practice to internationalize these names vs just
hard coding within the mbean implementation?

===========================================================================
For information on the Java Management extensions (JMX), please visit
our home page at &lt;a class=&quot;moz-txt-link-freetext&quot; href=&quot;http://java.sun.com/products/JavaManagement/&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://java.sun.com/products/JavaManagement/&lt;/a&gt;
The JMX-FORUM archives are accessible at &lt;a class=&quot;moz-txt-link-freetext&quot; href=&quot;http://archives.java.sun.com&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://archives.java.sun.com&lt;/a&gt;
To unsubscribe, send email to &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=10956101&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;listserv@...&lt;/a&gt; and include in the body
of the message &quot;signoff JMX-FORUM&quot;.  For general help, send email to
&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=10956101&amp;i=1&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;listserv@...&lt;/a&gt; and include in the body of the message &quot;help&quot;.

  &lt;/pre&gt;
&lt;/blockquote&gt;
&lt;br&gt;
&lt;/body&gt;
&lt;/html&gt;
===========================================================================
For information on the Java Management extensions (JMX), please visit
our home page at http://java.sun.com/products/JavaManagement/
The JMX-FORUM archives are accessible at http://archives.java.sun.com
To unsubscribe, send email to &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=10956101&amp;i=2&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;listserv@...&lt;/a&gt; and include in the body
of the message &quot;signoff JMX-FORUM&quot;.  For general help, send email to
&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=10956101&amp;i=3&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;listserv@...&lt;/a&gt; and include in the body of the message &quot;help&quot;.
</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/CompositeDataSupport-i18N-tp10955533p10956101.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-10955533</id>
	<title>CompositeDataSupport/i18N</title>
	<published>2007-06-04T12:26:53Z</published>
	<updated>2007-06-04T12:26:53Z</updated>
	<author>
		<name>Stephanie Smith</name>
	</author>
	<content type="html">When an MBean exposes CompositeData and uses the CompositeDataSupport
&lt;br&gt;class, the itemNames must be passed in. These names are used by the various
&lt;br&gt;consoles when displaying the composite data information.
&lt;br&gt;Is it a best practice to internationalize these names vs just
&lt;br&gt;hard coding within the mbean implementation?
&lt;br&gt;&lt;br&gt;===========================================================================
&lt;br&gt;For information on the Java Management extensions (JMX), please visit
&lt;br&gt;our home page at &lt;a href=&quot;http://java.sun.com/products/JavaManagement/&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://java.sun.com/products/JavaManagement/&lt;/a&gt;&lt;br&gt;The JMX-FORUM archives are accessible at &lt;a href=&quot;http://archives.java.sun.com&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://archives.java.sun.com&lt;/a&gt;&lt;br&gt;To unsubscribe, send email to &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=10955533&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;listserv@...&lt;/a&gt; and include in the body
&lt;br&gt;of the message &amp;quot;signoff JMX-FORUM&amp;quot;. &amp;nbsp;For general help, send email to
&lt;br&gt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=10955533&amp;i=1&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;listserv@...&lt;/a&gt; and include in the body of the message &amp;quot;help&amp;quot;.
&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/CompositeDataSupport-i18N-tp10955533p10955533.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-10897093</id>
	<title>Re: NotificationListener</title>
	<published>2007-05-31T10:04:05Z</published>
	<updated>2007-05-31T10:04:05Z</updated>
	<author>
		<name>eamonn.mcmanus</name>
	</author>
	<content type="html">Bonjour Manuel,
&lt;br&gt;&lt;br&gt;First of all, you shouldn't need to call jmxc.close() when you get a CLOSED
&lt;br&gt;or FAILED notification. &amp;nbsp;The connector is already dead at that point.
&lt;br&gt;&lt;br&gt;If somebody does mbsc.addNotificationListener(name, listener, null, null)
&lt;br&gt;then the connector has a reference to the listener only as long as the
&lt;br&gt;connection is alive. &amp;nbsp;So unless something else is referencing the listener,
&lt;br&gt;it will be ready for garbage collection as soon as the connector fails or is
&lt;br&gt;closed.
&lt;br&gt;&lt;br&gt;Regards,
&lt;br&gt;Éamonn McManus &amp;nbsp;-- &amp;nbsp;JMX Spec Lead &amp;nbsp;-- &amp;nbsp;&lt;a href=&quot;http://weblogs.java.net/blog/emcmanus&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://weblogs.java.net/blog/emcmanus&lt;/a&gt;&lt;br&gt;&lt;br&gt;On Thu, 31 May 2007 11:15:25 -0400, DARVEAU Manuel &amp;lt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=10897093&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;mdarveau@...&lt;/a&gt;&amp;gt; wrote:
&lt;br&gt;&lt;div class='shrinkable-quote'&gt;&lt;br&gt;&amp;gt;Bonjour,
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt;I have a question about NotificationListeners and network failure.
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt;If I bind a NotificationListener on an MBean and the connection between
&lt;br&gt;&amp;gt;the listener and the MBean drop, will the NotificationListener still be
&lt;br&gt;&amp;gt;called when the connection return?
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt;When I create the JMXConnector, I add a ConnectionNotificationListener:
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt;JMXConnector jmxc;
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt;private void createConnection(JMXServiceURL url){
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; &amp;nbsp; jmxc = JMXConnectorFactory.connect(url, null);
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; &amp;nbsp; jmxc.addConnectionNotificationListener(this, null, this);
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt;}
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt;When I get a notification that the connection dropped, I reset the old
&lt;br&gt;&amp;gt;connection and create a new one:
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt;public void handleNotification(Notification notification, Object
&lt;br&gt;&amp;gt;handback) {
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; &amp;nbsp; String notificationType = notification.getType();
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; &amp;nbsp; if (notificationType.equals(JMXConnectionNotification.CLOSED) ||
&lt;br&gt;&amp;gt;notificationType.equals(JMXConnectionNotification.FAILED)) {
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp;// Remove the listener to avoid infinite recursion
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt;jmxc.removeConnectionNotificationListener(JmxContext.this);
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp;try {
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; jmxc.close();
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp;} catch (IOException e) {
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; // Don't care
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt;}
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt;if(the connection should really be closed){
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; &amp;nbsp; return;
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt;}
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt;// Create the new connection
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt;createConnection();
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; &amp;nbsp; }
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt;}
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt;So back to the question, If somebody added a MBean NotificationListener
&lt;br&gt;&amp;gt;using:
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt;mbsc.addNotificationListener(new ObjectName(name), listener, null,
&lt;br&gt;&amp;gt;null);
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt;and the connection drop. When the connectionNotificationListener
&lt;br&gt;&amp;gt;recreate the connection, will the NotificationListener on the MBean will
&lt;br&gt;&amp;gt;still be valid? Will it continue to receive notifications?
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt;If not, will this create a NotificationListener leak on the server side?
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt;Thank you very much.
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt;Manuel
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt;P.S.: Do you have any documentation on how the connection failures are
&lt;br&gt;&amp;gt;handled by JMX or the rmi connector?
&lt;/div&gt;&lt;br&gt;===========================================================================
&lt;br&gt;For information on the Java Management extensions (JMX), please visit
&lt;br&gt;our home page at &lt;a href=&quot;http://java.sun.com/products/JavaManagement/&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://java.sun.com/products/JavaManagement/&lt;/a&gt;&lt;br&gt;The JMX-FORUM archives are accessible at &lt;a href=&quot;http://archives.java.sun.com&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://archives.java.sun.com&lt;/a&gt;&lt;br&gt;To unsubscribe, send email to &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=10897093&amp;i=1&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;listserv@...&lt;/a&gt; and include in the body
&lt;br&gt;of the message &amp;quot;signoff JMX-FORUM&amp;quot;. &amp;nbsp;For general help, send email to
&lt;br&gt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=10897093&amp;i=2&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;listserv@...&lt;/a&gt; and include in the body of the message &amp;quot;help&amp;quot;.
&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/NotificationListener-tp10896038p10897093.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-10896038</id>
	<title>NotificationListener</title>
	<published>2007-05-31T09:15:25Z</published>
	<updated>2007-05-31T09:15:25Z</updated>
	<author>
		<name>DARVEAU Manuel</name>
	</author>
	<content type="html">&lt;html&gt;

&lt;head&gt;
&lt;meta http-equiv=Content-Type content=&quot;text/html; charset=us-ascii&quot;&gt;
&lt;meta name=Generator content=&quot;Microsoft Word 10 (filtered)&quot;&gt;



&lt;/head&gt;

&lt;body lang=EN-US link=blue vlink=purple&gt;

&lt;div class=Section1&gt;

&lt;p class=MsoNormal&gt;&lt;font size=2 face=Arial&gt;&lt;span style='font-size:10.0pt;
font-family:Arial'&gt;Bonjour,&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;

&lt;p class=MsoNormal&gt;&lt;font size=2 face=Arial&gt;&lt;span style='font-size:10.0pt;
font-family:Arial'&gt;&amp;nbsp;&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;

&lt;p class=MsoNormal&gt;&lt;font size=2 face=Arial&gt;&lt;span style='font-size:10.0pt;
font-family:Arial'&gt;I have a question about NotificationListeners and network
failure.&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;

&lt;p class=MsoNormal&gt;&lt;font size=2 face=Arial&gt;&lt;span style='font-size:10.0pt;
font-family:Arial'&gt;&amp;nbsp;&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;

&lt;p class=MsoNormal&gt;&lt;font size=2 face=Arial&gt;&lt;span style='font-size:10.0pt;
font-family:Arial'&gt;If I bind a NotificationListener on an MBean and the
connection between the listener and the MBean drop, will the NotificationListener
still be called when the connection return?&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;

&lt;p class=MsoNormal&gt;&lt;font size=2 face=Arial&gt;&lt;span style='font-size:10.0pt;
font-family:Arial'&gt;&amp;nbsp;&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;

&lt;p class=MsoNormal&gt;&lt;font size=2 face=Arial&gt;&lt;span style='font-size:10.0pt;
font-family:Arial'&gt;When I create the JMXConnector, I add a ConnectionNotificationListener:&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;

&lt;p class=MsoNormal style='text-autospace:none'&gt;&lt;font size=2 face=Courier&gt;&lt;span style='font-size:10.0pt;font-family:Courier'&gt;JMXConnector jmxc;&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;

&lt;p class=MsoNormal style='text-autospace:none'&gt;&lt;font size=2 face=Courier&gt;&lt;span style='font-size:10.0pt;font-family:Courier'&gt;private void createConnection(JMXServiceURL
url){&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;

&lt;p class=MsoNormal style='text-autospace:none'&gt;&lt;font size=2 face=Courier&gt;&lt;span style='font-size:10.0pt;font-family:Courier'&gt;&amp;nbsp;&amp;nbsp; jmxc = JMXConnectorFactory.connect(url,
null);&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;

&lt;p class=MsoNormal&gt;&lt;font size=2 face=Courier&gt;&lt;span style='font-size:10.0pt;
font-family:Courier'&gt;&amp;nbsp;&amp;nbsp; jmxc.addConnectionNotificationListener(this, null,
this);&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;

&lt;p class=MsoNormal&gt;&lt;font size=2 face=Courier&gt;&lt;span style='font-size:10.0pt;
font-family:Courier'&gt;}&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;

&lt;p class=MsoNormal&gt;&lt;font size=2 face=Arial&gt;&lt;span style='font-size:10.0pt;
font-family:Arial'&gt;&amp;nbsp;&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;

&lt;p class=MsoNormal&gt;&lt;font size=2 face=Arial&gt;&lt;span style='font-size:10.0pt;
font-family:Arial'&gt;&amp;nbsp;&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;

&lt;p class=MsoNormal&gt;&lt;font size=2 face=Arial&gt;&lt;span style='font-size:10.0pt;
font-family:Arial'&gt;When I get a notification that the connection dropped, I
reset the old connection and create a new one:&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;

&lt;p class=MsoNormal style='text-autospace:none'&gt;&lt;font size=2 face=Courier&gt;&lt;span style='font-size:10.0pt;font-family:Courier'&gt;public void handleNotification(Notification
notification, Object handback) {&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;

&lt;p class=MsoNormal style='text-autospace:none'&gt;&lt;font size=2 face=Courier&gt;&lt;span style='font-size:10.0pt;font-family:Courier'&gt;&amp;nbsp;&amp;nbsp; String notificationType
= notification.getType();&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;

&lt;p class=MsoNormal style='text-autospace:none'&gt;&lt;font size=2 face=Courier&gt;&lt;span style='font-size:10.0pt;font-family:Courier'&gt;&amp;nbsp;&amp;nbsp; if (notificationType.equals(JMXConnectionNotification.CLOSED)
|| notificationType.equals(JMXConnectionNotification.FAILED))
{&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/font&gt;&lt;/p&gt;

&lt;p class=MsoNormal style='text-autospace:none'&gt;&lt;font size=2 face=Courier&gt;&lt;span style='font-size:10.0pt;font-family:Courier'&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; // Remove
the listener to avoid infinite recursion&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;

&lt;p class=MsoNormal style='text-indent:.5in'&gt;&lt;font size=2 face=Courier&gt;&lt;span style='font-size:10.0pt;font-family:Courier'&gt;jmxc.removeConnectionNotificationListener(JmxContext.this);&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;

&lt;p class=MsoNormal style='text-autospace:none'&gt;&lt;font size=2 face=Courier&gt;&lt;span style='font-size:10.0pt;font-family:Courier'&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; try
{&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;

&lt;p class=MsoNormal style='text-autospace:none'&gt;&lt;font size=2 face=Courier&gt;&lt;span style='font-size:10.0pt;font-family:Courier'&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp;jmxc.close();&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;

&lt;p class=MsoNormal style='text-autospace:none'&gt;&lt;font size=2 face=Courier&gt;&lt;span style='font-size:10.0pt;font-family:Courier'&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; } catch
(IOException e) {&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;

&lt;p class=MsoNormal style='text-autospace:none'&gt;&lt;font size=2 face=Courier&gt;&lt;span style='font-size:10.0pt;font-family:Courier'&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp;//
Don&amp;#8217;t care&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;

&lt;p class=MsoNormal style='text-indent:.5in'&gt;&lt;font size=2 face=Courier&gt;&lt;span style='font-size:10.0pt;font-family:Courier'&gt;}&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;

&lt;p class=MsoNormal style='text-indent:.5in'&gt;&lt;font size=2 face=Courier&gt;&lt;span style='font-size:10.0pt;font-family:Courier'&gt;&amp;nbsp;&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;

&lt;p class=MsoNormal style='text-indent:.5in'&gt;&lt;font size=2 face=Courier&gt;&lt;span style='font-size:10.0pt;font-family:Courier'&gt;if(the connection should really be
closed){&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;

&lt;p class=MsoNormal style='text-indent:.5in'&gt;&lt;font size=2 face=Courier&gt;&lt;span style='font-size:10.0pt;font-family:Courier'&gt;&amp;nbsp;&amp;nbsp; return;&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;

&lt;p class=MsoNormal style='text-indent:.5in'&gt;&lt;font size=2 face=Courier&gt;&lt;span style='font-size:10.0pt;font-family:Courier'&gt;}&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;

&lt;p class=MsoNormal style='text-indent:.5in'&gt;&lt;font size=2 face=Courier&gt;&lt;span style='font-size:10.0pt;font-family:Courier'&gt;&amp;nbsp;&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;

&lt;p class=MsoNormal style='text-indent:.5in'&gt;&lt;font size=2 face=Courier&gt;&lt;span style='font-size:10.0pt;font-family:Courier'&gt;// Create the new connection&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;

&lt;p class=MsoNormal style='text-indent:.5in'&gt;&lt;font size=2 face=Courier&gt;&lt;span style='font-size:10.0pt;font-family:Courier'&gt;createConnection();&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;

&lt;p class=MsoNormal style='text-autospace:none'&gt;&lt;font size=2 face=Courier&gt;&lt;span style='font-size:10.0pt;font-family:Courier'&gt;&amp;nbsp;&amp;nbsp; }&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;

&lt;p class=MsoNormal&gt;&lt;font size=2 face=Courier&gt;&lt;span style='font-size:10.0pt;
font-family:Courier'&gt;}&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;

&lt;p class=MsoNormal&gt;&lt;font size=2 face=Arial&gt;&lt;span style='font-size:10.0pt;
font-family:Arial'&gt;&amp;nbsp;&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;

&lt;p class=MsoNormal&gt;&lt;font size=2 face=Arial&gt;&lt;span style='font-size:10.0pt;
font-family:Arial'&gt;So back to the question, If somebody added a MBean NotificationListener
using:&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;

&lt;p class=MsoNormal style='text-indent:.5in'&gt;&lt;font size=2 color=&quot;#0000c0&quot; face=&quot;Courier New&quot;&gt;&lt;span style='font-size:10.0pt;font-family:&quot;Courier New&quot;;
color:#0000C0;background:aqua'&gt;mbsc&lt;/span&gt;&lt;/font&gt;&lt;font size=2 color=black face=&quot;Courier New&quot;&gt;&lt;span style='font-size:10.0pt;font-family:&quot;Courier New&quot;;
color:black'&gt;.addNotificationListener(&lt;/span&gt;&lt;/font&gt;&lt;b&gt;&lt;font size=2 color=&quot;#7f0055&quot; face=&quot;Courier New&quot;&gt;&lt;span style='font-size:10.0pt;font-family:
&quot;Courier New&quot;;color:#7F0055;font-weight:bold'&gt;new&lt;/span&gt;&lt;/font&gt;&lt;/b&gt;&lt;font size=2 color=black face=&quot;Courier New&quot;&gt;&lt;span style='font-size:10.0pt;font-family:
&quot;Courier New&quot;;color:black'&gt; ObjectName(name), listener, &lt;/span&gt;&lt;/font&gt;&lt;b&gt;&lt;font size=2 color=&quot;#7f0055&quot; face=&quot;Courier New&quot;&gt;&lt;span style='font-size:10.0pt;
font-family:&quot;Courier New&quot;;color:#7F0055;font-weight:bold'&gt;null&lt;/span&gt;&lt;/font&gt;&lt;/b&gt;&lt;font size=2 color=black face=&quot;Courier New&quot;&gt;&lt;span style='font-size:10.0pt;font-family:
&quot;Courier New&quot;;color:black'&gt;, &lt;/span&gt;&lt;/font&gt;&lt;b&gt;&lt;font size=2 color=&quot;#7f0055&quot; face=&quot;Courier New&quot;&gt;&lt;span style='font-size:10.0pt;font-family:&quot;Courier New&quot;;
color:#7F0055;font-weight:bold'&gt;null&lt;/span&gt;&lt;/font&gt;&lt;/b&gt;&lt;font size=2 color=black face=&quot;Courier New&quot;&gt;&lt;span style='font-size:10.0pt;font-family:&quot;Courier New&quot;;
color:black'&gt;);&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;

&lt;p class=MsoNormal&gt;&lt;font size=2 color=black face=&quot;Courier New&quot;&gt;&lt;span style='font-size:10.0pt;font-family:&quot;Courier New&quot;;color:black'&gt;&amp;nbsp;&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;

&lt;p class=MsoNormal&gt;&lt;font size=2 face=Arial&gt;&lt;span style='font-size:10.0pt;
font-family:Arial'&gt;and the connection drop. When the connectionNotificationListener
recreate the connection, will the NotificationListener on the MBean will still
be valid? Will it continue to receive notifications?&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;

&lt;p class=MsoNormal&gt;&lt;font size=2 face=Arial&gt;&lt;span style='font-size:10.0pt;
font-family:Arial'&gt;If not, will this create a NotificationListener leak on the
server side?&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;

&lt;p class=MsoNormal&gt;&lt;font size=2 face=Arial&gt;&lt;span style='font-size:10.0pt;
font-family:Arial'&gt;&amp;nbsp;&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;

&lt;p class=MsoNormal&gt;&lt;font size=2 face=Arial&gt;&lt;span style='font-size:10.0pt;
font-family:Arial'&gt;Thank you very much.&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;

&lt;p class=MsoNormal&gt;&lt;font size=2 face=Arial&gt;&lt;span style='font-size:10.0pt;
font-family:Arial'&gt;&amp;nbsp;&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;

&lt;p class=MsoNormal&gt;&lt;font size=2 face=Arial&gt;&lt;span style='font-size:10.0pt;
font-family:Arial'&gt;Manuel&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;

&lt;p class=MsoNormal&gt;&lt;font size=2 face=Arial&gt;&lt;span style='font-size:10.0pt;
font-family:Arial'&gt;&amp;nbsp;&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;

&lt;p class=MsoNormal&gt;&lt;font size=2 face=Arial&gt;&lt;span style='font-size:10.0pt;
font-family:Arial'&gt;P.S.: Do you have any documentation on how the connection failures
are handled by JMX or the rmi connector?&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;

&lt;/div&gt;

&lt;/body&gt;

&lt;/html&gt;
===========================================================================
For information on the Java Management extensions (JMX), please visit
our home page at http://java.sun.com/products/JavaManagement/
The JMX-FORUM archives are accessible at http://archives.java.sun.com
To unsubscribe, send email to &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=10896038&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;listserv@...&lt;/a&gt; and include in the body
of the message &quot;signoff JMX-FORUM&quot;.  For general help, send email to
&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=10896038&amp;i=1&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;listserv@...&lt;/a&gt; and include in the body of the message &quot;help&quot;.
</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/NotificationListener-tp10896038p10896038.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-10887998</id>
	<title>Re: Visual VM</title>
	<published>2007-05-31T00:06:21Z</published>
	<updated>2007-05-31T00:06:21Z</updated>
	<author>
		<name>Sanket Sharma</name>
	</author>
	<content type="html">&lt;div&gt;&lt;br&gt;Is there any early information available on the project? Any websites or URL?&lt;/div&gt;
&lt;div&gt;&amp;nbsp;&lt;/div&gt;
&lt;div&gt;Best Regards,&lt;/div&gt;
&lt;div&gt;Sanket&lt;br&gt;&amp;nbsp;&lt;/div&gt;
&lt;div&gt;&lt;span class=&quot;gmail_quote&quot;&gt;On 5/30/07, &lt;b class=&quot;gmail_sendername&quot;&gt;Mandy Chung&lt;/b&gt; &amp;lt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=10887998&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;Mandy.Chung@...&lt;/a&gt;&amp;gt; wrote:&lt;/span&gt;
&lt;blockquote class=&quot;gmail_quote&quot; style=&quot;PADDING-LEFT: 1ex; MARGIN: 0px 0px 0px 0.8ex; BORDER-LEFT: #ccc 1px solid&quot;&gt;Hi Jess,&lt;br&gt;&lt;br&gt;The VisualVM project will be hosted on &lt;a href=&quot;http://java.net&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;java.net&lt;/a&gt; and will be&lt;br&gt;
open-source.&amp;nbsp;&amp;nbsp;The VisualVM is in an early development phase.&amp;nbsp;&amp;nbsp;The&lt;br&gt;details and timeline are being worked out.&amp;nbsp;&amp;nbsp;Before the source is made&lt;br&gt;available, we are considering making the prototype as a binary available&lt;br&gt;to get started.&amp;nbsp;&amp;nbsp;This may take a month or two depending on the process
&lt;br&gt;of getting legal approvals.&lt;br&gt;&lt;br&gt;I&amp;#39;m including Arseniy, who is the owner of this project, to provide&lt;br&gt;additional information.&lt;br&gt;&lt;br&gt;Please stay tuned.&lt;br&gt;&lt;br&gt;Thanks&lt;br&gt;Mandy&lt;br&gt;&lt;br&gt;Jess Holle wrote:&lt;div class='shrinkable-quote'&gt;&lt;br&gt;&amp;gt; At JavaOne, there was a fabulous little BOF on an all-in-one open-source
&lt;br&gt;&amp;gt; management and monitoring tool, a &amp;quot;Visual VM&amp;quot; project, that was&lt;br&gt;&amp;gt; purported to be slated to become a &lt;a href=&quot;http://java.net&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;java.net&lt;/a&gt; project soon.&lt;br&gt;&amp;gt;&lt;br&gt;&amp;gt; I know some of those involved follow this mailing list.&amp;nbsp;&amp;nbsp;I was wondering
&lt;br&gt;&amp;gt; if anything is happening with this project any time soon.&lt;br&gt;&amp;gt;&lt;br&gt;&amp;gt; --&lt;br&gt;&amp;gt; Jess Holle&lt;br&gt;&amp;gt;&lt;br&gt;&amp;gt; ===========================================================================&lt;br&gt;&amp;gt;&lt;br&gt;&amp;gt; For information on the Java Management extensions (JMX), please visit
&lt;br&gt;&amp;gt; our home page at &lt;a href=&quot;http://java.sun.com/products/JavaManagement/&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://java.sun.com/products/JavaManagement/&lt;/a&gt;&lt;br&gt;&amp;gt; The JMX-FORUM archives are accessible at &lt;a href=&quot;http://archives.java.sun.com&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://archives.java.sun.com
&lt;/a&gt;&lt;br&gt;&amp;gt; To unsubscribe, send email to &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=10887998&amp;i=1&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;listserv@...&lt;/a&gt; and include in the&lt;br&gt;&amp;gt; body&lt;br&gt;&amp;gt; of the message &amp;quot;signoff JMX-FORUM&amp;quot;.&amp;nbsp;&amp;nbsp;For general help, send email to
&lt;br&gt;&amp;gt; &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=10887998&amp;i=2&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;listserv@...&lt;/a&gt; and include in the body of the message &amp;quot;help&amp;quot;.&lt;/div&gt;&lt;br&gt;===========================================================================&lt;br&gt;For information on the Java Management extensions (JMX), please visit
&lt;br&gt;our home page at &lt;a href=&quot;http://java.sun.com/products/JavaManagement/&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://java.sun.com/products/JavaManagement/&lt;/a&gt;&lt;br&gt;The JMX-FORUM archives are accessible at &lt;a href=&quot;http://archives.java.sun.com&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://archives.java.sun.com
&lt;/a&gt;&lt;br&gt;To unsubscribe, send email to &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=10887998&amp;i=3&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;listserv@...&lt;/a&gt; and include in the body&lt;br&gt;of the message &amp;quot;signoff JMX-FORUM&amp;quot;.&amp;nbsp;&amp;nbsp;For general help, send email to&lt;br&gt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=10887998&amp;i=4&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;listserv@...&lt;/a&gt; and include in the body of the message &amp;quot;help&amp;quot;.&lt;br&gt;&lt;/blockquote&gt;&lt;/div&gt;&lt;br&gt;
===========================================================================
For information on the Java Management extensions (JMX), please visit
our home page at http://java.sun.com/products/JavaManagement/
The JMX-FORUM archives are accessible at http://archives.java.sun.com
To unsubscribe, send email to &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=10887998&amp;i=5&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;listserv@...&lt;/a&gt; and include in the body
of the message &quot;signoff JMX-FORUM&quot;.  For general help, send email to
&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=10887998&amp;i=6&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;listserv@...&lt;/a&gt; and include in the body of the message &quot;help&quot;.
</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/Visual-VM-tp10862685p10887998.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-10879588</id>
	<title>Re: Visual VM</title>
	<published>2007-05-30T12:17:32Z</published>
	<updated>2007-05-30T12:17:32Z</updated>
	<author>
		<name>mandy.chung</name>
	</author>
	<content type="html">Hi Jess,
&lt;br&gt;&lt;br&gt;The VisualVM project will be hosted on java.net and will be
&lt;br&gt;open-source. &amp;nbsp;The VisualVM is in an early development phase. &amp;nbsp;The
&lt;br&gt;details and timeline are being worked out. &amp;nbsp;Before the source is made
&lt;br&gt;available, we are considering making the prototype as a binary available
&lt;br&gt;to get started. &amp;nbsp;This may take a month or two depending on the process
&lt;br&gt;of getting legal approvals.
&lt;br&gt;&lt;br&gt;I'm including Arseniy, who is the owner of this project, to provide
&lt;br&gt;additional information.
&lt;br&gt;&lt;br&gt;Please stay tuned.
&lt;br&gt;&lt;br&gt;Thanks
&lt;br&gt;Mandy
&lt;br&gt;&lt;br&gt;Jess Holle wrote:
&lt;div class='shrinkable-quote'&gt;&lt;br&gt;&amp;gt; At JavaOne, there was a fabulous little BOF on an all-in-one open-source
&lt;br&gt;&amp;gt; management and monitoring tool, a &amp;quot;Visual VM&amp;quot; project, that was
&lt;br&gt;&amp;gt; purported to be slated to become a java.net project soon.
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; I know some of those involved follow this mailing list. &amp;nbsp;I was wondering
&lt;br&gt;&amp;gt; if anything is happening with this project any time soon.
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; --
&lt;br&gt;&amp;gt; Jess Holle
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; ===========================================================================
&lt;br&gt;&amp;gt;
&lt;br&gt;&amp;gt; For information on the Java Management extensions (JMX), please visit
&lt;br&gt;&amp;gt; our home page at &lt;a href=&quot;http://java.sun.com/products/JavaManagement/&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://java.sun.com/products/JavaManagement/&lt;/a&gt;&lt;br&gt;&amp;gt; The JMX-FORUM archives are accessible at &lt;a href=&quot;http://archives.java.sun.com&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://archives.java.sun.com&lt;/a&gt;&lt;br&gt;&amp;gt; To unsubscribe, send email to &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=10879588&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;listserv@...&lt;/a&gt; and include in the
&lt;br&gt;&amp;gt; body
&lt;br&gt;&amp;gt; of the message &amp;quot;signoff JMX-FORUM&amp;quot;. &amp;nbsp;For general help, send email to
&lt;br&gt;&amp;gt; &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=10879588&amp;i=1&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;listserv@...&lt;/a&gt; and include in the body of the message &amp;quot;help&amp;quot;.
&lt;/div&gt;&lt;br&gt;===========================================================================
&lt;br&gt;For information on the Java Management extensions (JMX), please visit
&lt;br&gt;our home page at &lt;a href=&quot;http://java.sun.com/products/JavaManagement/&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://java.sun.com/products/JavaManagement/&lt;/a&gt;&lt;br&gt;The JMX-FORUM archives are accessible at &lt;a href=&quot;http://archives.java.sun.com&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://archives.java.sun.com&lt;/a&gt;&lt;br&gt;To unsubscribe, send email to &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=10879588&amp;i=2&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;listserv@...&lt;/a&gt; and include in the body
&lt;br&gt;of the message &amp;quot;signoff JMX-FORUM&amp;quot;. &amp;nbsp;For general help, send email to
&lt;br&gt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=10879588&amp;i=3&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;listserv@...&lt;/a&gt; and include in the body of the message &amp;quot;help&amp;quot;.
&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/Visual-VM-tp10862685p10879588.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-10862685</id>
	<title>Visual VM</title>
	<published>2007-05-29T15:07:45Z</published>
	<updated>2007-05-29T15:07:45Z</updated>
	<author>
		<name>Jess Holle</name>
	</author>
	<content type="html">At JavaOne, there was a fabulous little BOF on an all-in-one open-source
&lt;br&gt;management and monitoring tool, a &amp;quot;Visual VM&amp;quot; project, that was
&lt;br&gt;purported to be slated to become a java.net project soon.
&lt;br&gt;&lt;br&gt;I know some of those involved follow this mailing list. &amp;nbsp;I was wondering
&lt;br&gt;if anything is happening with this project any time soon.
&lt;br&gt;&lt;br&gt;--
&lt;br&gt;Jess Holle
&lt;br&gt;&lt;br&gt;===========================================================================
&lt;br&gt;For information on the Java Management extensions (JMX), please visit
&lt;br&gt;our home page at &lt;a href=&quot;http://java.sun.com/products/JavaManagement/&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://java.sun.com/products/JavaManagement/&lt;/a&gt;&lt;br&gt;The JMX-FORUM archives are accessible at &lt;a href=&quot;http://archives.java.sun.com&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://archives.java.sun.com&lt;/a&gt;&lt;br&gt;To unsubscribe, send email to &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=10862685&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;listserv@...&lt;/a&gt; and include in the body
&lt;br&gt;of the message &amp;quot;signoff JMX-FORUM&amp;quot;. &amp;nbsp;For general help, send email to
&lt;br&gt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=10862685&amp;i=1&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;listserv@...&lt;/a&gt; and include in the body of the message &amp;quot;help&amp;quot;.
&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/Visual-VM-tp10862685p10862685.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-10445471</id>
	<title>Re: External JMX comments</title>
	<published>2007-05-12T06:14:14Z</published>
	<updated>2007-05-12T06:14:14Z</updated>
	<author>
		<name>Mohan Kumar-5</name>
	</author>
	<content type="html">Hi
&lt;br&gt;&lt;br&gt;I have a JMX JSR 160 compliant application. I want to monitor it with HP
&lt;br&gt;OpenView JMX. As per the documentation, I have to create and register a JMX
&lt;br&gt;connector to be able to manage any MBean Server otehr than Weblogic and
&lt;br&gt;WebSphere.
&lt;br&gt;&lt;br&gt;Why is it required?
&lt;br&gt;What is meant by registration?
&lt;br&gt;&lt;br&gt;Regards,
&lt;br&gt;&lt;br&gt;Mohan Kumar
&lt;br&gt;&lt;br&gt;===========================================================================
&lt;br&gt;For information on the Java Management extensions (JMX), please visit
&lt;br&gt;our home page at &lt;a href=&quot;http://java.sun.com/products/JavaManagement/&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://java.sun.com/products/JavaManagement/&lt;/a&gt;&lt;br&gt;The JMX-FORUM archives are accessible at &lt;a href=&quot;http://archives.java.sun.com&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://archives.java.sun.com&lt;/a&gt;&lt;br&gt;To unsubscribe, send email to &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=10445471&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;listserv@...&lt;/a&gt; and include in the body
&lt;br&gt;of the message &amp;quot;signoff JMX-FORUM&amp;quot;. &amp;nbsp;For general help, send email to
&lt;br&gt;&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=10445471&amp;i=1&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;listserv@...&lt;/a&gt; and include in the body of the message &amp;quot;help&amp;quot;.
&lt;br&gt;</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/Re%3A-External-JMX-comments-tp10445471p10445471.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-10145939</id>
	<title>ClientNotifForwarder wait infinitly</title>
	<published>2007-04-23T12:00:50Z</published>
	<updated>2007-04-23T12:00:50Z</updated>
	<author>
		<name>DARVEAU Manuel</name>
	</author>
	<content type="html">&lt;html&gt;

&lt;head&gt;
&lt;meta http-equiv=Content-Type content=&quot;text/html; charset=us-ascii&quot;&gt;
&lt;meta name=Generator content=&quot;Microsoft Word 10 (filtered)&quot;&gt;



&lt;/head&gt;

&lt;body lang=EN-US link=blue vlink=purple&gt;

&lt;div class=Section1&gt;

&lt;p class=MsoNormal&gt;&lt;font size=2 face=Arial&gt;&lt;span style='font-size:10.0pt;
font-family:Arial'&gt;Hi everyone,&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;

&lt;p class=MsoNormal&gt;&lt;font size=2 face=Arial&gt;&lt;span style='font-size:10.0pt;
font-family:Arial'&gt;&amp;nbsp;&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;

&lt;p class=MsoNormal&gt;&lt;font size=2 face=Arial&gt;&lt;span style='font-size:10.0pt;
font-family:Arial'&gt;Has anybody ever seen ClientNotifForwarder wait infinitly?&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;

&lt;p class=MsoNormal&gt;&lt;font size=2 face=Arial&gt;&lt;span style='font-size:10.0pt;
font-family:Arial'&gt;I have a case where a thread wait infinitly while holding a
lock on an object and that makes other thread blocked and eventually creating a
thread leak on my system.&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;

&lt;p class=MsoNormal&gt;&lt;font size=2 face=Arial&gt;&lt;span style='font-size:10.0pt;
font-family:Arial'&gt;&amp;nbsp;&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;

&lt;p class=MsoNormal style='text-autospace:none'&gt;&lt;font size=1 face=&quot;Courier New&quot;&gt;&lt;span style='font-size:8.0pt;font-family:&quot;Courier New&quot;'&gt;Name: Thread-142568&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;

&lt;p class=MsoNormal style='text-autospace:none'&gt;&lt;font size=1 face=&quot;Courier New&quot;&gt;&lt;span style='font-size:8.0pt;font-family:&quot;Courier New&quot;'&gt;State: WAITING on
javax.management.remote.rmi.RMIConnector$RMINotifClient@14ba7fe&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;

&lt;p class=MsoNormal style='text-autospace:none'&gt;&lt;font size=1 face=&quot;Courier New&quot;&gt;&lt;span style='font-size:8.0pt;font-family:&quot;Courier New&quot;'&gt;Total blocked: 0&amp;nbsp; Total
waited: 1&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;

&lt;p class=MsoNormal style='text-autospace:none'&gt;&lt;font size=1 face=&quot;Courier New&quot;&gt;&lt;span style='font-size:8.0pt;font-family:&quot;Courier New&quot;'&gt;Stack trace: &lt;/span&gt;&lt;/font&gt;&lt;/p&gt;

&lt;p class=MsoNormal style='text-autospace:none'&gt;&lt;font size=1 face=&quot;Courier New&quot;&gt;&lt;span style='font-size:8.0pt;font-family:&quot;Courier New&quot;'&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/font&gt;&lt;font size=1 face=&quot;Courier New&quot;&gt;&lt;span lang=FR style='font-size:8.0pt;font-family:
&quot;Courier New&quot;'&gt;java.lang.Object.wait(Native Method)&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;

&lt;p class=MsoNormal style='text-autospace:none'&gt;&lt;font size=1 face=&quot;Courier New&quot;&gt;&lt;span lang=FR style='font-size:8.0pt;font-family:&quot;Courier New&quot;'&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; java.lang.Object.wait(Object.java:474)&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;

&lt;p class=MsoNormal style='text-autospace:none'&gt;&lt;font size=1 face=&quot;Courier New&quot;&gt;&lt;span lang=FR style='font-size:8.0pt;font-family:&quot;Courier New&quot;'&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/font&gt;&lt;font size=1 face=&quot;Courier New&quot;&gt;&lt;span style='font-size:8.0pt;font-family:&quot;Courier New&quot;'&gt;com.sun.jmx.remote.internal.ClientNotifForwarder.beforeRemove(ClientNotifForwarder.java:745)&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;

&lt;p class=MsoNormal style='text-autospace:none'&gt;&lt;font size=1 face=&quot;Courier New&quot;&gt;&lt;span style='font-size:8.0pt;font-family:&quot;Courier New&quot;'&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; com.sun.jmx.remote.internal.ClientNotifForwarder.removeNotificationListener(ClientNotifForwarder.java:167)&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;

&lt;p class=MsoNormal style='text-autospace:none'&gt;&lt;font size=1 face=&quot;Courier New&quot;&gt;&lt;span style='font-size:8.0pt;font-family:&quot;Courier New&quot;'&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;
javax.management.remote.rmi.RMIConnector$RemoteMBeanServerConnection.removeNotificationListener(RMIConnector.java:1204)&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;

&lt;p class=MsoNormal style='text-autospace:none'&gt;&lt;font size=1 face=&quot;Courier New&quot;&gt;&lt;span style='font-size:8.0pt;font-family:&quot;Courier New&quot;'&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/font&gt;&lt;font size=1 face=&quot;Courier New&quot;&gt;&lt;span lang=FR style='font-size:8.0pt;font-family:
&quot;Courier New&quot;'&gt;com.miranda.commons.management.JmxContext.removeNotificationListener(JmxContext.java:177)&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;

&lt;p class=MsoNormal style='text-autospace:none'&gt;&lt;font size=1 face=&quot;Courier New&quot;&gt;&lt;span lang=FR style='font-size:8.0pt;font-family:&quot;Courier New&quot;'&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/font&gt;&lt;font size=1 face=&quot;Courier New&quot;&gt;&lt;span style='font-size:8.0pt;font-family:&quot;Courier New&quot;'&gt;com.miranda.commons.management.JmxConnectionManager.removeNotificationListener(JmxConnectionManager.java:177)&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;

&lt;p class=MsoNormal&gt;&lt;font size=1 face=&quot;Courier New&quot;&gt;&lt;span lang=FR style='font-size:8.0pt;font-family:&quot;Courier New&quot;'&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; com.miranda.adapters.agent.router.RouterClientJMX$2.run(RouterClientJMX.java:222)&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;

&lt;p class=MsoNormal&gt;&lt;font size=2 face=Arial&gt;&lt;span lang=FR style='font-size:10.0pt;
font-family:Arial'&gt;&amp;nbsp;&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;

&lt;p class=MsoNormal&gt;&lt;font size=2 face=Arial&gt;&lt;span style='font-size:10.0pt;
font-family:Arial'&gt;I have two other suspicious threads:&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;

&lt;p class=MsoNormal style='text-autospace:none'&gt;&lt;font size=1 face=&quot;Courier New&quot;&gt;&lt;span style='font-size:8.0pt;font-family:&quot;Courier New&quot;'&gt;Name:
ClientNotifForwarder-297&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;

&lt;p class=MsoNormal style='text-autospace:none'&gt;&lt;font size=1 face=&quot;Courier New&quot;&gt;&lt;span style='font-size:8.0pt;font-family:&quot;Courier New&quot;'&gt;State: WAITING on [I@1180ab3&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;

&lt;p class=MsoNormal style='text-autospace:none'&gt;&lt;font size=1 face=&quot;Courier New&quot;&gt;&lt;span style='font-size:8.0pt;font-family:&quot;Courier New&quot;'&gt;Total blocked: 67&amp;nbsp; Total
waited: 1&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;

&lt;p class=MsoNormal style='text-autospace:none'&gt;&lt;font size=1 face=&quot;Courier New&quot;&gt;&lt;span style='font-size:8.0pt;font-family:&quot;Courier New&quot;'&gt;Stack trace: &lt;/span&gt;&lt;/font&gt;&lt;/p&gt;

&lt;p class=MsoNormal style='text-autospace:none'&gt;&lt;font size=1 face=&quot;Courier New&quot;&gt;&lt;span style='font-size:8.0pt;font-family:&quot;Courier New&quot;'&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/font&gt;&lt;font size=1 face=&quot;Courier New&quot;&gt;&lt;span lang=FR style='font-size:8.0pt;font-family:
&quot;Courier New&quot;'&gt;java.lang.Object.wait(Native Method)&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;

&lt;p class=MsoNormal style='text-autospace:none'&gt;&lt;font size=1 face=&quot;Courier New&quot;&gt;&lt;span lang=FR style='font-size:8.0pt;font-family:&quot;Courier New&quot;'&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; java.lang.Object.wait(Object.java:474)&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;

&lt;p class=MsoNormal style='text-autospace:none'&gt;&lt;font size=1 face=&quot;Courier New&quot;&gt;&lt;span lang=FR style='font-size:8.0pt;font-family:&quot;Courier New&quot;'&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; com.sun.jmx.remote.internal.ClientCommunicatorAdmin.restart(ClientCommunicatorAdmin.java:82)&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;

&lt;p class=MsoNormal style='text-autospace:none'&gt;&lt;font size=1 face=&quot;Courier New&quot;&gt;&lt;span lang=FR style='font-size:8.0pt;font-family:&quot;Courier New&quot;'&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; com.sun.jmx.remote.internal.ClientCommunicatorAdmin.gotIOException(ClientCommunicatorAdmin.java:34)&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;

&lt;p class=MsoNormal style='text-autospace:none'&gt;&lt;font size=1 face=&quot;Courier New&quot;&gt;&lt;span lang=FR style='font-size:8.0pt;font-family:&quot;Courier New&quot;'&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; javax.management.remote.rmi.RMIConnector$RMIClientCommunicatorAdmin.gotIOException(RMIConnector.java:1413)&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;

&lt;p class=MsoNormal style='text-autospace:none'&gt;&lt;font size=1 face=&quot;Courier New&quot;&gt;&lt;span lang=FR style='font-size:8.0pt;font-family:&quot;Courier New&quot;'&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;
javax.management.remote.rmi.RMIConnector$RMINotifClient.fetchNotifs(RMIConnector.java:1293)&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;

&lt;p class=MsoNormal style='text-autospace:none'&gt;&lt;font size=1 face=&quot;Courier New&quot;&gt;&lt;span lang=FR style='font-size:8.0pt;font-family:&quot;Courier New&quot;'&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; com.sun.jmx.remote.internal.ClientNotifForwarder$NotifFetcher.fetchNotifs(ClientNotifForwarder.java:508)&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;

&lt;p class=MsoNormal style='text-autospace:none'&gt;&lt;font size=1 face=&quot;Courier New&quot;&gt;&lt;span lang=FR style='font-size:8.0pt;font-family:&quot;Courier New&quot;'&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; com.sun.jmx.remote.internal.ClientNotifForwarder$NotifFetcher.run(ClientNotifForwarder.java:399)&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;

&lt;p class=MsoNormal style='text-autospace:none'&gt;&lt;font size=1 face=&quot;Courier New&quot;&gt;&lt;span lang=FR style='font-size:8.0pt;font-family:&quot;Courier New&quot;'&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/font&gt;&lt;font size=1 face=&quot;Courier New&quot;&gt;&lt;span style='font-size:8.0pt;font-family:&quot;Courier New&quot;'&gt;com.sun.jmx.remote.internal.ClientNotifForwarder$LinearExecutor$1.run(ClientNotifForwarder.java:83)&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;

&lt;p class=MsoNormal&gt;&lt;font size=2 face=Arial&gt;&lt;span style='font-size:10.0pt;
font-family:Arial'&gt;&amp;nbsp;&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;

&lt;p class=MsoNormal&gt;&lt;font size=2 face=Arial&gt;&lt;span style='font-size:10.0pt;
font-family:Arial'&gt;Looking at the code, I see that &lt;/span&gt;&lt;/font&gt;&lt;font size=1 face=&quot;Courier New&quot;&gt;&lt;span style='font-size:8.0pt;font-family:&quot;Courier New&quot;'&gt;ClientNotifForwarder.postReconnection&lt;/span&gt;&lt;/font&gt;&lt;font size=2 face=Arial&gt;&lt;span style='font-size:10.0pt;font-family:Arial'&gt; should do&lt;/span&gt;&lt;/font&gt;&lt;font size=1 face=&quot;Courier New&quot;&gt;&lt;span style='font-size:8.0pt;font-family:&quot;Courier New&quot;'&gt;
beingReconnected = false; notifyAll(); &lt;/span&gt;&lt;/font&gt;&lt;font size=2 face=Arial&gt;&lt;span style='font-size:10.0pt;font-family:Arial'&gt;but it is stalled waiting&lt;/span&gt;&lt;/font&gt;&lt;font size=1 face=&quot;Courier New&quot;&gt;&lt;span style='font-size:8.0pt;font-family:&quot;Courier New&quot;'&gt;:&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;

&lt;p class=MsoNormal style='text-autospace:none'&gt;&lt;font size=1 face=&quot;Courier New&quot;&gt;&lt;span style='font-size:8.0pt;font-family:&quot;Courier New&quot;'&gt;Name: Thread-34&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;

&lt;p class=MsoNormal style='text-autospace:none'&gt;&lt;font size=1 face=&quot;Courier New&quot;&gt;&lt;span style='font-size:8.0pt;font-family:&quot;Courier New&quot;'&gt;State: WAITING on
javax.management.remote.rmi.RMIConnector$RMINotifClient@14ba7fe&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;

&lt;p class=MsoNormal style='text-autospace:none'&gt;&lt;font size=1 face=&quot;Courier New&quot;&gt;&lt;span style='font-size:8.0pt;font-family:&quot;Courier New&quot;'&gt;Total blocked: 130&amp;nbsp;
Total waited: 2&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;

&lt;p class=MsoNormal style='text-autospace:none'&gt;&lt;font size=1 face=&quot;Courier New&quot;&gt;&lt;span style='font-size:8.0pt;font-family:&quot;Courier New&quot;'&gt;Stack trace: &lt;/span&gt;&lt;/font&gt;&lt;/p&gt;

&lt;p class=MsoNormal style='text-autospace:none'&gt;&lt;font size=1 face=&quot;Courier New&quot;&gt;&lt;span style='font-size:8.0pt;font-family:&quot;Courier New&quot;'&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/font&gt;&lt;font size=1 face=&quot;Courier New&quot;&gt;&lt;span lang=FR style='font-size:8.0pt;font-family:
&quot;Courier New&quot;'&gt;java.lang.Object.wait(Native Method)&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;

&lt;p class=MsoNormal style='text-autospace:none'&gt;&lt;font size=1 face=&quot;Courier New&quot;&gt;&lt;span lang=FR style='font-size:8.0pt;font-family:&quot;Courier New&quot;'&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; java.lang.Object.wait(Object.java:474)&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;

&lt;p class=MsoNormal style='text-autospace:none'&gt;&lt;font size=1 face=&quot;Courier New&quot;&gt;&lt;span lang=FR style='font-size:8.0pt;font-family:&quot;Courier New&quot;'&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; com.sun.jmx.remote.internal.ClientNotifForwarder.postReconnection(ClientNotifForwarder.java:314)&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;

&lt;p class=MsoNormal style='text-autospace:none'&gt;&lt;font size=1 face=&quot;Courier New&quot;&gt;&lt;span lang=FR style='font-size:8.0pt;font-family:&quot;Courier New&quot;'&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;
javax.management.remote.rmi.RMIConnector$RMIClientCommunicatorAdmin.reconnectNotificationListeners(RMIConnector.java:1512)&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;

&lt;p class=MsoNormal style='text-autospace:none'&gt;&lt;font size=1 face=&quot;Courier New&quot;&gt;&lt;span lang=FR style='font-size:8.0pt;font-family:&quot;Courier New&quot;'&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; javax.management.remote.rmi.RMIConnector$RMIClientCommunicatorAdmin.doStart(RMIConnector.java:1577)&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;

&lt;p class=MsoNormal style='text-autospace:none'&gt;&lt;font size=1 face=&quot;Courier New&quot;&gt;&lt;span lang=FR style='font-size:8.0pt;font-family:&quot;Courier New&quot;'&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; com.sun.jmx.remote.internal.ClientCommunicatorAdmin.restart(ClientCommunicatorAdmin.java:106)&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;

&lt;p class=MsoNormal style='text-autospace:none'&gt;&lt;font size=1 face=&quot;Courier New&quot;&gt;&lt;span lang=FR style='font-size:8.0pt;font-family:&quot;Courier New&quot;'&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; com.sun.jmx.remote.internal.ClientCommunicatorAdmin.access$500(ClientCommunicatorAdmin.java:16)&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;

&lt;p class=MsoNormal style='text-autospace:none'&gt;&lt;font size=1 face=&quot;Courier New&quot;&gt;&lt;span lang=FR style='font-size:8.0pt;font-family:&quot;Courier New&quot;'&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; com.sun.jmx.remote.internal.ClientCommunicatorAdmin$Checker.run(ClientCommunicatorAdmin.java:178)&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;

&lt;p class=MsoNormal&gt;&lt;font size=1 face=&quot;Courier New&quot;&gt;&lt;span lang=FR style='font-size:8.0pt;font-family:&quot;Courier New&quot;'&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/font&gt;&lt;font size=1 face=&quot;Courier New&quot;&gt;&lt;span style='font-size:8.0pt;font-family:&quot;Courier New&quot;'&gt;java.lang.Thread.run(Thread.java:595)&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;

&lt;p class=MsoNormal&gt;&lt;font size=1 face=&quot;Courier New&quot;&gt;&lt;span style='font-size:8.0pt;
font-family:&quot;Courier New&quot;'&gt;&amp;nbsp;&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;

&lt;p class=MsoNormal&gt;&lt;font size=2 face=Arial&gt;&lt;span style='font-size:10.0pt;
font-family:Arial'&gt;My guess is that the state was changed to TERMINATED but the
method setState does not call notifyAll when the state is changed to TERMINATED.&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;

&lt;p class=MsoNormal&gt;&lt;font size=2 face=Arial&gt;&lt;span style='font-size:10.0pt;
font-family:Arial'&gt;I tried to unplug and plug the network cable to force a
state change but it does not seem to change anything&amp;#8230;&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;

&lt;p class=MsoNormal&gt;&lt;font size=2 face=Arial&gt;&lt;span style='font-size:10.0pt;
font-family:Arial'&gt;&amp;nbsp;&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;

&lt;p class=MsoNormal&gt;&lt;font size=2 face=Arial&gt;&lt;span style='font-size:10.0pt;
font-family:Arial'&gt;Should I report a bug? I made a search on the database and
found bug &lt;a href=&quot;http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=6199899&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=6199899&lt;/a&gt;
but it was closed and the situation described is &amp;#8220;impossible&amp;#8221;.&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;

&lt;p class=MsoNormal&gt;&lt;font size=2 face=Arial&gt;&lt;span style='font-size:10.0pt;
font-family:Arial'&gt;&amp;nbsp;&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;

&lt;p class=MsoNormal&gt;&lt;font size=2 face=Arial&gt;&lt;span style='font-size:10.0pt;
font-family:Arial'&gt;Anyone has an idea?&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;

&lt;p class=MsoNormal&gt;&lt;font size=2 face=Arial&gt;&lt;span style='font-size:10.0pt;
font-family:Arial'&gt;&amp;nbsp;&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;

&lt;p class=MsoNormal&gt;&lt;font size=2 face=Arial&gt;&lt;span style='font-size:10.0pt;
font-family:Arial'&gt;Thank you very much!&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;

&lt;p class=MsoNormal&gt;&lt;font size=2 face=Arial&gt;&lt;span style='font-size:10.0pt;
font-family:Arial'&gt;&amp;nbsp;&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;

&lt;p class=MsoNormal&gt;&lt;font size=2 face=Arial&gt;&lt;span style='font-size:10.0pt;
font-family:Arial'&gt;Manuel Darveau&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;

&lt;p class=MsoNormal&gt;&lt;font size=2 face=Arial&gt;&lt;span style='font-size:10.0pt;
font-family:Arial'&gt;&amp;nbsp;&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;

&lt;p class=MsoNormal&gt;&lt;font size=2 face=Arial&gt;&lt;span style='font-size:10.0pt;
font-family:Arial'&gt;P.S.: I have a report of the state and stack trace for every
threads in my application so if you would like to take a look at it, I can send
it in private.&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;

&lt;p class=MsoNormal&gt;&lt;font size=2 face=Arial&gt;&lt;span style='font-size:10.0pt;
font-family:Arial'&gt;P.P.S.: Anyone know if it is possible to make contrib to jconsole?&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;

&lt;/div&gt;

&lt;/body&gt;

&lt;/html&gt;
===========================================================================
For information on the Java Management extensions (JMX), please visit
our home page at http://java.sun.com/products/JavaManagement/
The JMX-FORUM archives are accessible at http://archives.java.sun.com
To unsubscribe, send email to &lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=10145939&amp;i=0&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;listserv@...&lt;/a&gt; and include in the body
of the message &quot;signoff JMX-FORUM&quot;.  For general help, send email to
&lt;a href=&quot;http://old.nabble.com/user/SendEmail.jtp?type=post&amp;post=10145939&amp;i=1&quot; target=&quot;_top&quot; rel=&quot;nofollow&quot;&gt;listserv@...&lt;/a&gt; and include in the body of the message &quot;help&quot;.
</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/ClientNotifForwarder-wait-infinitly-tp10145939p10145939.html" />
</entry>

<entry>
	<id>tag:old.nabble.com,2006:post-9953877</id>
	<title>addNotificationListener not adding multiple listeners</title>
	<published>2007-04-12T00:42:12Z</published>
	<updated>2007-04-12T00:42:12Z</updated>
	<author>
		<name>atulzzz</name>
	</author>
	<content type="html">Hi,
&lt;br&gt;made the listener unique by adding a unique handbackobject.
&lt;br&gt;and add a listener in each server.
&lt;br&gt;but when I invoke the bean method (which creates the notification), only 1 listener is getting notified?
&lt;br&gt;&lt;br&gt;when i do getnotificationIndo I do see only 1 listener.
&lt;br&gt;&lt;br&gt;this I tried using jsr-160 api in weblogic too. but to no avail.
&lt;br&gt;only 1 listener gets called.
&lt;br&gt;&lt;br&gt;this seems like a bug/issue in wls92.not sure how to get over it.
&lt;br&gt;&lt;br&gt;rgds.</content>
	<link rel="alternate" type="text/html" href="http://old.nabble.com/addNotificationListener-not-adding-multiple-listeners-tp9953877p9953877.html" />
</entry>

</feed>
