Where has JVMPI gone?
By kto on Dec 31, 2008
Have you seen this error before?
FATAL ERROR: JVMPI, an experimental interface, is no longer supported. Please use the supported interface: the JVM Tool Interface (JVM TI). For information on temporary workarounds contact: firstname.lastname@example.org
For a long time now, since we released JDK 1.5, we have been warning people that the VM profiling interface JVMPI is going away. Starting with the JDK 6 update 3 release (JDK6u3), it is gone for good.
If you really need JVMPI, your best bet is to use a JDK 1.5 or older release, and also find out about transitioning to JVM TI. More often than not, you have become dependent on a tool that uses JVMPI, in which case you should try and upgrade that tool to a version that uses JVM TI instead. But if you have written your own JVMPI code, see the JVMPI transition article at http://java.sun.com/developer/technicalArticles/Programming/jvmpitransition/ for help in transitioning to JVM TI.
NOTE: Getting this message indicates that JVMPI has been requested of the JVM. A request for JVMPI must be made prior to JVM initialization and regardless of whether JVMPI is eventually used at runtime, just the request for it will have a negative performance impact on your Java application. In most situations, JVMPI should never be requested unless some kind of performance work is being done and slower performance is considered acceptable. JVM TI does not have many of the JVMPI limitations.
A few references of interest:
- JVMPI: Java Virtual Machine Profiler Interface
- JVM TI: Java Virtual Machine Tool Interface
- The JVMPI Transition to JVM TI
- JVM TI: How Agents Work