# Thursday, 01 September 2011
« New Development Snapshot | Main | New Development Snapshot »
Platform MBean Server

The release notes for IKVM.NET have always said "Not implemented" for java.lang.management and javax.management. This was mostly due to the fact that I don't know very much about this area of Java and it doesn't make a lot of sense to use Java management tools when the equivalent .NET management tools are probably a better fit (at least for VM level operations).

This week, prompted by a question on the ikvm-developers list, I decided to look into improving the situation (a bit). As a result it is now possible to get the platform MBean server and to connect to it with the jconsole application.

To start the server run the following code:

java.lang.System.setProperty("com.sun.management.jmxremote", "true");
java.lang.System.setProperty("com.sun.management.jmxremote.authenticate", "false");
java.lang.System.setProperty("com.sun.management.jmxremote.ssl", "false");
java.lang.System.setProperty("com.sun.management.jmxremote.port", "9999");

sun.management.Agent.startAgent();

Now when you start jconsole in the following way, you can connect to localhost:9999

jconsole -J-Dcom.sun.management.jmxremote.ssl=false

Note that the mechanism that jconsole uses to detect and connect to locally running JDK instances is very platform specific and is not supported. Note also that IKVM does not support "agents" , so you have to start the management agent explicitly by calling it directly.

Limitations

The information (and operations) exposed is pretty limited. I still maintain that using .NET specific management tools is a better solution, but if you have any specific scenario you want to see supported, please let me know and I'll consider it.

Code

If you want to play with it, the binaries are available here: ikvmbin-7.0.4261.zip

Thursday, 01 September 2011 11:16:57 (W. Europe Daylight Time, UTC+02:00)  #    Comments [2]